@charset "utf-8";
/*===============================================
 *	ブラウザリセット
===============================================*/
/* a:hover img {
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  opacity: 0.85;
} */
html {
  overflow-x: hidden;
  overflow-y: scroll;
}
/* @font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: 'NotoSansJP';
  src: url('../fonts/NotoSansJP-Regular.otf') format('otf'),
    url('../fonts/NotoSansJP-Medium.otf') format('otf'),
    url('../fonts/NotoSansJP-Medium.otf') format('otf');
} */
@font-face {font-family: 'GenEiMGothic';font-style: bold;font-weight: 900;src: url("../fonts/GenEiMGothic2-Heavy.woff") format("woff");font-display: swap;}
body {
  font-size: 100%;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  /* 'Noto Sans JP', 'Hiragino Kaku Gothic ProN3', Meiryo, sans-serif */
  letter-spacing: 0;
  height: 100%;
  letter-spacing: 3px;
  background: url(../img/common/bg.png);
  color: #282828;
  line-height: 2em;
  -webkit-text-size-adjust: 100%;
}
table {
  font-size: inherit;
}
select,
input,
textarea {
  font: 99% arial, helvetica, clean, sans-serif;
}
pre,
code {
  font: 115% monospace;
  *font-size: 100%;
}
br {
  letter-spacing: normal;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: 600;
  color: #333333;
}
address,
em {
  font-style: normal;
}
strong,
th {
  font-weight: normal;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}
th,
td {
  text-align: left;
  border: none;
  font-weight: normal;
}
hr {
  display: none;
}
p {
  /* font-size: 16px; */
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  line-height: normal;
  font-weight: bold;
}
@media only screen and (max-width: 568px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    letter-spacing: 0;
  }
  p {
    /* font-size: 14px; */
    line-height: 1.8em;
  }
}
img,
fieldset {
  border: 0;
  vertical-align: bottom;
}
li {
  list-style-type: none;
}
ul,
ol,
dl {
  margin: 0;
  list-style-position: outside;
  list-style-type: none;
}
li,
dt,
dd {
  font-size: 100%;
}
dt {
  font-weight: normal;
}
a {
  text-decoration: underline;
  outline: none;
}
a:hover {
  text-decoration: none;
  cursor: pointer;
}
form,
input {
  padding: 0;
  margin: 0;
}
iframe {
  border: none;
}
img {
  height: auto;
  max-width: 100%;
}
strong {
  font-weight: bold;
}
* {
  box-sizing: border-box;
}
/*===============================================
 *	カラムパターン
===============================================*/
.column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
.row-rev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.space-btw {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.space-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.js-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.al-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.al-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.al-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.al-base {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}
/* --------------このサイトオリジナル設定--------------- */
/* :focus {
  sp-moz-outline-style: none;
} */
a {
  color: #333333;
  outline: none;
  text-decoration: none;
}
/*====================== clearFix ======================*/
.clearfix:before,
.clearfix:after {
  content: '';
  display: block;
  overflow: hidden;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1;
}
/*===============================================

 *	common

===============================================*/
html body {
  font-size: 16px;
}
@font-face {
  font-family: 'Robot';
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/Roboto-Bold.woff") format("woff");
  font-display: swap;
}
em {
  font-weight: bold;
}
.sp {
  display: none;
}
.inner {
  max-width: 1120px;
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.inner-contents {
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.blue_inner {
  max-width: 1120px;
  margin: 0 auto 2vw;
  width: 100%;
  position: relative;
}
.forpc {
  display: block;
}
.forsp {
  display: none;
}
.dot {
  padding-top: 30px;
  background-color: rgba(255, 255, 255, 0);
  background-image: radial-gradient(#0077c2 12%, rgba(1, 66, 189, 0) 12%), radial-gradient(#0077c2 13%, rgba(1, 66, 189, 0) 15%);
  background-position: top 10px left 0;
  background-size: 1.065em 1.07em;
  background-repeat: repeat-x;
}

@media screen and (min-width: 1025px) {
  a[href^='tel:'] {
    pointer-events: none;
  }
}
@media only screen and (max-width: 768px) {
  .inner,
  .blue_inner,
  .inner-contents {
    width: 100%;
  }
}
@media only screen and (max-width: 568px) {
  html {
    scroll-padding-top: 65px;
  }
  html body {
    line-height: normal;
    overflow: hidden;
    font-size: 14px;
  }
  .forpc {
    display: none;
  }
  .forsp {
    display: block;
  }
  .dot {
    padding-top: 22px;
    background-position: top 10px left 0;
    background-size: 1.05em 1.07em;
  }
}
/*===============================================

 *	カラー

===============================================*/
.yellow {
  color: #ffd800;
}
.blue {
  color: #0077c2;
}
.red {
  color: #ee8190;
}
.red02 {
  color: #cf1126;
}
.gray {
  color: #9a9a9a;
}
.bg-blue {
  background: #0077c2;
}
.bg-lightblue {
  background: #42a5f5;
}
.bg-red {
  background: #ee8190;
}
.bg-green {
  background: #00aca8;
}
.bg-gray {
  background: #9a9a9a;
}
/*-----------------------------------------------
 *	背景要素
-----------------------------------------------*/
.stripe-blue {
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #0077c2 0,
    #0077c2 5px,
    #0d7ec5 5px,
    #0d7ec5 10px
  );
  background: -o-repeating-linear-gradient(
    -45deg,
    #0077c2 0,
    #0077c2 5px,
    #0d7ec5 5px,
    #0d7ec5 10px
  );
  background: repeating-linear-gradient(
    -45deg,
    #0077c2 0,
    #0077c2 5px,
    #0d7ec5 5px,
    #0d7ec5 10px
  );
}
.stripe-lightblue {
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #42a5f5 0,
    #42a5f5 5px,
    #4caaf6 5px,
    #4caaf6 10px
  );
  background: -o-repeating-linear-gradient(
    -45deg,
    #42a5f5 0,
    #42a5f5 5px,
    #4caaf6 5px,
    #4caaf6 10px
  );
  background: repeating-linear-gradient(
    -45deg,
    #42a5f5 0,
    #42a5f5 5px,
    #4caaf6 5px,
    #4caaf6 10px
  );
}
/*===============================================

 *	ボタン

===============================================*/
.btn-basic {
  max-width: 495px;
  border-radius: 100px;
  border: solid 2px #0077c2;
  margin: 40px auto 0;
  background: #fff;
  padding: 0 30px;
  box-shadow: 0px 4px 1px #e8e8e5;
}
.btn-basic a {
  font-size: 22px;
  display: block;
  padding: 15px;
  position: relative;
  background-size: 20px;
  color: #333333;
  border-radius: 6px;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0;
}
.btn-basic a::after {
  content: '';
  background: url(../img/common/hd-arrow.png) center no-repeat;
  background-size: contain;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 0;
  transform: translate(0px, -50%);
}
.btn-basic:hover {
  background: #0077c2;
  transition: all 0.5s;
}
.btn-basic:hover a {
  color: #fff;
}
.btn-basic:hover a::after {
  content: '';
  background: url(../img/common/hd-arrow-hover.png) center no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 568px) {
  .btn-basic {
    max-width: 90%;
    margin-top: 30px;
  }
  .btn-basic a {
    font-size: 18px;
    padding: 10px 5%;
    letter-spacing: 0;
  }
  .btn-basic:hover {
    background: #fff;
  }
  .btn-basic:hover a {
    color: #0077c2;
  }
  .btn-basic:hover a::after {
    content: '';
    background: url(../img/common/hd-arrow.png) center no-repeat;
    background-size: contain;
  }
}
/*===============================================

 *	クラス属性

===============================================*/
.hd-ttl {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20px;
  width: 100%;
}
.list-underbar li {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.list-underbar li p {
  font-size: 20px;
  color: #fff;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 80px;
  padding: 10px 0;
  letter-spacing: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.list-underbar li p::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  background: #42a5f5;
  opacity: 0.8;
  z-index: -1;
}

.left-border {
  position: relative;
  padding-left: 20px;
  font-size: 30px;
}
.left-border::before {
  content: '';
  position: absolute;
  left: 0;
  top: 40%;
  height: 30px;
  width: 5px;
  background: linear-gradient(180deg, #0077c2 50%, #42a5f5 50%);
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 568px) {
  .left-border {
    padding-left: 15px;
    font-size: 20px;
    width: 90%;
    margin: 0 auto;
  }
  .left-border::before {
    height: calc(100% - 15px);
    width: 3px;
    top: 5px;
    transform: unset;
  }
  .list-underbar {
    width: 90%;
    margin: 0 auto;
  }
  .list-underbar li p {
    height: auto;
    font-size: 14px;
    letter-spacing: 0;
    line-height: normal;
    padding: 10px;
  }
  .hd-ttl {
    font-size: 24px;
    padding: 0 5%;
  }
}
.float-right,
.float-right h4,
.float-right p,
.float-right img {
  float: right;
}
.float-left,
.float-left h4,
.float-left p,
.float-left img {
  float: left;
}
.float-left h4,
.float-left p {
  margin-left: 5%;
  width: 55%;
}
.float-right h4,
.float-right p {
  margin-right: 5%;
  width: 55%;
}
.float-left h4,
.float-right h4 {
  font-size: 30px;
}
.float-left .img-box,
.float-right .img-box {
  width: 40%;
}

.float-left p,
.float-right p {
  width: 55%;
  margin-top: 15px;
}
@media only screen and (max-width: 568px) {
  .float-left,
  .float-right {
    margin: 30px auto 0;
    padding: 0 5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .float-left .img-box,
  .float-right .img-box {
    width: calc(100% / 2.2);
    border-radius: 10px;
  }
  .float-left p,
  .float-right p {
    width: 100%;
    border-top: 2px dotted #e2e2e2;
    padding-top: 15px;
    margin: 0;
    margin-top: 15px;
  }
  .float-left h4,
  .float-right h4 {
    width: calc(100% / 2.2);
    font-size: 18px;
    border-bottom: unset;
    padding-bottom: 0;
    margin: 0;
  }
}

.emphasize-txt {
  font-size: 34px;
  background: #e7f3fd;
  padding: 30px 10px 10px 10px;
  text-align: center;
  margin-top: 15px;
  clear: both;
  width: 100%;
  color: #fff;
  text-shadow: 0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2,
    0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2,
    0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2,
    0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2, 0 0 3px #0077c2,
    0 0 3px #0077c2;
  position: relative;
}
.emphasize-txt b {
  position: relative;
}
.emphasize-txt b::before {
  content: '';
  position: absolute;
  background: #0077c2;
  font-size: 10px;
  top: -10px;
  left: 15px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
@media only screen and (max-width: 568px) {
  .emphasize-txt {
    font-size: 20px;
    letter-spacing: 3px;
    padding: 20px 10px 10px 10px;
  }
  .emphasize-txt::after {
    content: '';
    background: url(../img/top/icon-calculator.png) no-repeat center;
    background-size: contain;
    width: 31px;
    height: 30px;
    right: 28%;
    bottom: 10px;
  }
  .emphasize-txt b::before {
    width: 5px;
    height: 5px;
    top: -5px;
    left: 7px;
  }
}
.fukidashi {
  display: inline-block;
  width: auto;
  padding: 15px 30px;
  font-size: 28px;
  font-weight: bold;
  background-size: contain;
  text-align: center;
  color: #fff;
  position: relative;
  background: #42a5f5;
  border-radius: 10px;
  /* margin-bottom: 15px; */
}
.fukidashi:after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(0, 153, 255, 0);
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10%;
  border-top-color: #42a5f5;
  top: 100%;
  left: 26%;
}
@media only screen and (max-width: 568px) {
  #sec-reason {
    margin-top: 30px;
    padding-bottom: 30px;
  }
  #sec-reason #reason-ttl {
    flex-direction: column;
    width: 100%;
    padding: 0 5% 15px;
  }
  #sec-reason #reason-ttl div {
    width: 100%;
  }
  .fukidashi {
    height: auto;
    font-size: 16px;
    padding: 10px 15px;
  }
  #sec-reason h2 {
    font-size: 32px;
  }
}
/*===============================================

 *	注釈
===============================================*/
.annotation {
  position: relative;
  padding-left: 15px;
  line-height: 1.5em;
}
.annotation::before {
  content: '※';
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
}
.section-map p.annotation_txt {
  margin-top: 0;
  font-size: 13px;
  text-align: left;
}
.map-annotation_txt {
  font-size: 13px;
  text-align: center;
}
@media only screen and (max-width: 568px) {
  .annotation::before {
    transform: none;
    top: 0;
    font-size: 12px;
  }
  .section-map p.annotation_txt {
    text-align: center;
  }
}
/*===============================================

 *	放置しておくと...

===============================================*/
.trouble-ttl {
  font-size: 40px;
  text-align: center;
  padding: 15px;
  color: #fff;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  position: relative;
}
.trouble-ttl::before {
  content: '';
  background: url(../img/common/troublebox-ttl-icon.png) no-repeat center;
  background-size: contain;
  position: absolute;
  width: 110px;
  height: 90px;
  left: 10%;
  top: 40%;
  transform: translate(0, -50%);
}
.trouble-box {
  background: #fff;
  padding: 30px;
  padding-top: 15px;
  padding-bottom: 45px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
}
.trouble-box ul li {
  width: calc(100% / 2.1);
  position: relative;
  padding: 15px 0;
  padding-left: 40px;
  font-size: 18px;
}
.trouble-box ul li::before {
  content: '';
  background: url(../img/common/mini-attention-mark.png) no-repeat center;
  width: 24px;
  height: 24px;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.trouble-box::after {
  content: '';
  width: 0;
  height: 0;
  position: absolute;
  bottom: -30px;
  margin: 0 auto;
  border-style: solid;
  border-width: 50px 50px 0 50px;
  border-color: #ec6917 transparent transparent transparent;
  left: 50%;
  transform: translate(-50%, 0);
}
@media only screen and (max-width: 568px) {
  .trouble-ttl {
    font-size: 24px;
  }
  .trouble-ttl::before {
    left: 5%;
  }
  .trouble-box {
    padding: 20px;
    padding-bottom: 30px;
    padding-top: 0;
  }
  .trouble-box ul li {
    width: 100%;
    font-size: 16px;
    border-bottom: 2px dotted #e2e2e2;
    padding-left: 50px;
    padding-bottom: 10px;
    letter-spacing: 0;
  }
  .trouble-box ul li:last-child {
    border-bottom: 0;
  }
  .trouble-box ul li::before {
    width: 30px;
    height: 30px;
  }
  .trouble-box::after {
    bottom: -30px;
    margin: 0 auto;
    border-style: solid;
    border-width: 40px 40px 0 40px;
  }
}
/*===============================================

 *	新生活へ...

===============================================*/
.go-well {
  background: url(../img/common/go-well-back.png) no-repeat #edf6fe right;
  background-size: contain;
  border: solid 4px #0077c2;
  padding: 25px 60px;
  border-radius: 10px;
  position: relative;
  margin-top: 37px;
}
.go-well::after {
  content: '';
  background: url(../img/common/go-well-staff.png) no-repeat center;
  background-size: contain;
  position: absolute;
  width: 297px;
  right: 30px;
  height: 227px;
  bottom: 0;
}
.go-well div {
  max-width: 70%;
}
.go-well span {
  color: #fff;
  font-size: 21px;
  background: #00aca8;
  position: relative;
  width: 95%;
  display: block;
  text-align: center;
  padding: 10px 0;
}
.go-well span::before {
  content: '';
  background: url(../img/common/ribbon-before.png) no-repeat;
  background-size: contain;
  width: 29px;
  height: 46px;
  position: absolute;
  left: -20px;
  bottom: -15px;
}
.go-well span::after {
  content: '';
  background: url(../img/common/ribbon-after.png) no-repeat;
  background-size: contain;
  width: 29px;
  height: 46px;
  position: absolute;
  right: -20px;
  bottom: -15px;
}
.go-well p {
  font-size: 36px;
  line-height: normal;
  margin-top: 15px;
  padding: 0 15px;
}
@media only screen and (max-width: 568px) {
  .go-well {
    padding: 15px;
    overflow: hidden;
    background: url(../img/common/go-well-back.png) no-repeat #edf6fe right top;
    background-size: 70%;
  }
  .go-well div {
    max-width: 100%;
    margin: 0 auto;
  }
  .go-well p {
    padding: 0;
    width: 70%;
    font-size: 16px;
    margin-top: 20px;
    line-height: 1.3em;
  }
  .go-well span {
    font-size: 15px;
    letter-spacing: 0;
    width: 90%;
    padding: 7px 0;
    margin: 0 auto;
  }
  .go-well::after {
    width: 120px;
    height: 90px;
    right: 0;
    bottom: -10px;
  }
}
/*-----------------------------------------------
 *	下線
-----------------------------------------------*/
.gray-border {
  border-bottom: 2px solid #e2e2e2;
  padding-bottom: 15px;
}
.white-border {
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}
.gray-dotted {
  border-bottom: 2px dotted #e2e2e2;
  padding-bottom: 10px;
}
.underline {
  position: relative;
  z-index: 1;
  background: linear-gradient(transparent 75%, #ffd800 75%);
}
/* .underline::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 8px;
  bottom: 0;
  left: 0;
  background: #ffd800;
  z-index: -1;
} */
@media only screen and (max-width: 568px) {
  .gray-border {
    padding-bottom: 10px;
  }
}
/*===============================================

 *	CVエリア

===============================================*/
.cv-area {
  padding-bottom: 30px;
  overflow: hidden;
}
.cv-area .cv-txt {
  padding: 15px 0 0;
}
.cv-area .cv-txt span {
  width: 300px;
  border: solid 2px white;
  text-align: center;
  padding: 10px;
  color: white;
  font-size: 20px;
}
.cv-area .cv-txt h3 {
  font-size: 50px;
}
.cv-box {
  background: #fff;
  padding: 30px;
  text-align: center;
  overflow: hidden;
  margin-top: 30px;
  border-radius: 10px;
}
.cv-box p {
  font-size: 30px;
  background: #d0e8fc;
  padding: 10px;
}
.cv-box .cv-img {
  margin-top: 30px;
  position: relative;
}
.cv-box .cv-img > div {
  padding-left: 55%;
}
.cv-box {
  position: relative;
}
.cv-box .contact-btn {
  margin-top: 30px;
}
.cv-box .contact-btn:hover {
  opacity: 0.8;
}
.cv-box::after {
  content: '';
  background: url(../img/common/cv-img-after.png) no-repeat;
  background-size: contain;
  position: absolute;
  width: 500px;
  height: 284px;
  left: 55px;
  bottom: 0;
}
.cv-box::before {
  content: '';
  background: url(../img/common/badge_google4.7.png) no-repeat;
  background-size: contain;
  position: absolute;
  width: 132px;
  height: 133px;
  left: 65px;
  top: 60px;
}
@media only screen and (max-width: 568px) {
  .cv-area {
    border-radius: 0;
    overflow: unset;
  }
  .cv-box {
    padding: 15px;
    overflow: unset;
    width: 90%;
    margin: 15px auto 0;
  }
  .cv-box p {
    font-size: 18px;
    letter-spacing: 0;
    padding: 5px 10px;
  }
  .cv-box::after {
    content: '';
    background: url(../img/common/cv-img-after-sp.png) no-repeat center;
    background-size: contain;
    width: 250px;
    height: 165px;
    right: -15px;
    top: -165px;
    left: unset;
  }
  .cv-box::before {
    content: '';
    background: url(../img/common/badge_google4.7.png) no-repeat center;
    background-size: contain;
    width: 100px;
    height: 100px;
    position: absolute;
    right: -14px;
    left: unset;
    top: -80px;
    z-index: 3;
  }
  .cv-box .contact-btn {
    margin-top: 15px;
  }
  .cv-area .cv-txt {
    padding-top: 15px;
  }
  .cv-area .cv-txt h3 {
    font-size: 22px;
    margin-top: 10px;
    position: relative;
    z-index: 3;
    text-shadow: 2px 2px 0px #1f7dc5, -2px 2px 0px #1f7dc5, 2px -2px 0px #1f7dc5,
      -2px -2px 0px #1f7dc5, 2px 0px 0px #1f7dc5, 0px 2px 0px #1f7dc5,
      -2px 0px 0px #1f7dc5, 0px -2px 0px #1f7dc5;
  }
  .cv-box .cv-img {
    margin-top: 15px;
  }
  .cv-box .cv-img > div {
    padding-left: 0;
  }
  .cv-area .cv-txt span {
    max-width: 150px;
    font-size: 12px;
    padding: 5px;
    letter-spacing: 0;
  }
  .cv-area .cv-txt .inner {
    width: 90%;
    margin: 0 auto;
    flex-direction: column;
    align-items: baseline;
  }
}
/*-----------------------------------------------
 *	cv contact,line
-----------------------------------------------*/
.cv-btn a{width: 48%;}
@media only screen and (max-width: 568px) {
.cv-btn {display: block;}
.cv-btn a{display: block;width: 100%;}
.cv-btn a:first-child{margin: 10px 0;}
.cv-btn img{width: 100%;}
}
/*-----------------------------------------------
 *	注意事項
-----------------------------------------------*/
.attention {
  border: #f59faa solid 2px;
  background: #fdf5f6;
  padding: 30px;
  margin-top: 40px;
}
.attention p {
  padding-left: 100px;
  position: relative;
  letter-spacing: 1px;
}
.attention p::before {
  content: '';
  background: url(../img/common/attention-mark.png) no-repeat center;
  background-size: contain;
  width: 70px;
  height: 70px;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translate(0, -50%);
}
@media only screen and (max-width: 568px) {
  .attention {
    width: 90%;
    margin: 15px auto 0;
    padding: 15px;
    z-index: 1;
  }
  .attention p {
    padding-left: 0;
    z-index: 1;
  }
  .attention p::before {
    right: 0;
    left: unset;
    bottom: 0;
    z-index: -1;
    opacity: 0.6;
  }
}
/*-----------------------------------------------
 *	header
-----------------------------------------------*/
#header-area {
  background: #fff;
  width: 100%;
}
#pr-wrap {
  background: #0077c2;
  padding: 2px 0;
}
#pr-header {
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#pr-header p {
  font-size: 13px;
}
#pr-header ul {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#pr-header li {
  position: relative;
  padding-left: 20px;
  margin-left: 20px;
}
#pr-header li::before {
  content: '';
  background: url('../img/common/hd-arrow.png') center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translate(0, -50%);
}
#pr-header li a:hover {
  text-decoration: underline;
}
#header-wrap {
  display: flex;
  padding: 10px 0;
  max-width: 1120px;
  margin: 0 auto;
  margin-bottom: 5px;
}
#header-wrap .logo {
  max-width: 360px;
  margin-right: auto;
  padding-top: 10px;
}
#header-wrap .logo a {
  display: block;
}
#header-wrap .logo img {
  width: 100%;
  height: auto;
}
#header-wrap .logo img:hover {
  opacity: 0.8;
}
.hd-phonebox {
  max-width: 356px;
}
@media only screen and (max-width: 768px) {
  #pr-wrap {
    padding: 5px 2%;
    text-align: center;
  }
  #pr-header {
    max-width: 100%;
    justify-content: center;
  }
  #header-wrap {
    padding: 10px 5%;
    max-width: 100%;
    width: 100%;
    position: fixed;
    background: #fff;
    z-index: 99;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width: 568px) {
  #pr-wrap {
    display: none;
  }
  #header-wrap {
    padding: 0 0 0 2%;
    height: 60px;
  }
  .hd-phonebox {
    display: none;
  }
  #header-wrap .logo {
    max-width: initial;
    padding-top: 0;
    width: 80%;
  }
  #pr-wrap {
    padding: 5px 10px;
  }
}
@media only screen and (max-width: 320px) {
  #pr-header {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    font-size: 12px;
  }
}
/*-----------------------------------------------
 *	gnavi
-----------------------------------------------*/
#menu-box {
  background: #fff;
  transition: all 0.4s ease;
  width: 100%;
}
#gnavi {
  max-width: 1120px;
  margin: 0 auto;
}
#gnavi li {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
#gnavi li a {
  width: 100%;
  font-size: 15px;
  color: #282828;
  border-left: 1px solid #e2e2e2;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.3em;
  height: 65%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#gnavi li a:first {
  border-left: 0;
}
#gnavi li img:hover {
  opacity: 0.8;
}
#gnavi li:last-child a {
  border-left: unset;
  padding: 0;
}
#gnavi li a:hover::after {
  content: '';
  background: #42a5f5;
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}
#gnavi li#gnavi-inquiry a:hover::after {
  height: 0;
}
#gnavi li.btn-contact a {
  background: #f39800;
  display: block;
  color: #fff;
}
#gnavi li.btn-contact a:hover {
  background: #ffa713;
}
.nav-box {
  display: none;
}
.gnavi-fixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 9999;
}
@media only screen and (max-width: 768px) {
  #gnavi {
    display: none;
  }
}

/******************************************
* SP MENU 2025/02/12 add
*******************************************/
#navi {display: none;}
#navibtn {display: none;}
#navi input {display: none;}
.menu-parent {position: relative;}
.menu-parent .pd {display: none;}
#navi .select a{background: #42a5f5;color: #fff;}
#navi .menu {border-left: #e2e2e2 1px solid;display: flex;justify-content: space-between;flex-wrap: wrap;width: 100%;max-width: 1300px;margin: 0 auto;align-items: center;}
#navi .menu > li {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;position: relative;border-right: #e2e2e2 1px solid;}
#navi .menu > li a {font-size: 16px;line-height: 1.4;font-weight: bold;display: block;text-align: center;padding: 20px;}
#navi .select li a {background: none;color: #333;}
#navi .menu > li .txt-multiple a{padding: 8px 20px 9px;}
#navi li.menu-parent::after{content: "";display: block;color: #333;line-height: 1;width: 10px;height: 10px;border: 2px solid currentColor;border-left: 0;border-bottom: 0;box-sizing: border-box;transform: translateY(-50%) rotate(135deg);position: absolute;right: 10px;top: 50%;}
#navi .menu > li:last-child a {border-right: 1px solid #e2e2e2;}
#navi li.menu-parent::after{content: "";display: block;color: #333;line-height: 1;width: 10px;height: 10px;border: 2px solid currentColor;border-left: 0;border-bottom: 0;box-sizing: border-box;transform: translateY(-50%) rotate(135deg);position: absolute;right: 10px;top: 50%;}
#navi li.menu-parent:hover::after{color: #333;}
#navi li.menu-parent.select::after{color: #fff;}
#menu-navibtn {display: none;cursor: pointer;cursor: hand;}
.menu-child li {font-size: 14px;border-bottom: 1px solid #DDD;width: 50%;}
.menu-child li:nth-child(odd){border-right: 1px solid #DDD;}
.menu-child li:nth-last-child(-n + 2){border-bottom: none;}
.menu-parent .menu-child {visibility: hidden;opacity: 0;display: flex;justify-content: space-between;flex-wrap: wrap;position: absolute;top: 62px;left: 50%;transform: translateX(-50%);width: 640px;background: #eff7ff;transition: all 0.2s ease;}
#navi .navi-cv_box{display: none;}
.gnavi-fixed {position: fixed;top: 0;width: 100%;z-index: 999;background: #fff;}
@media screen and (max-width: 960px) {
#navi .menu > li a {font-size: 15px;padding: 20px;}
}
@media screen and (min-width: 620px) {
.menu-parent:hover .menu-child {visibility: visible;opacity: 1;z-index: 10;}
}
@media screen and (max-width: 620px) {
#navi {background-color: #fff;}
#navi .select a{background: none;color: #333}
.menu-parent .pd {background: #42a5f5;display: block;position: absolute;right: 0;top: 0;width: 57px;height: 57px;}
#navi .navi-cv_box{display: none;}
#navi .menu {display: none;}
#navi .menu li {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;position: relative;border-right: none;border-bottom: 1px solid #DDD;position: relative;}
#navi .menu li::before{content: "";display: block;position: absolute;left: 15px;top: 50%;transform: translateY(-50%);}
#navi .menu li.ic-home::before{background:url(../img/common/icon-menu_top_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-price::before{background:url(../img/common/icon-menu_price_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-beginner::before{background:url(../img/common/icon-menu_beginner_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-flow::before{background:url(../img/common/icon-menu_flow_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-company::before{background:url(../img/common/icon-menu_company_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-service::before{background:url(../img/common/icon-menu_service_sp.png) left center no-repeat;background-size: contain;top:30px;width: 25px;height: 25px;}
#navi .menu li.ic-ex::before{background:url(../img/common/icon-menu_ex_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-staff::before{background:url(../img/common/icon-menu_staff_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}
#navi .menu li.ic-faq::before{background:url(../img/common/icon-menu_faq_sp.png) left center no-repeat;background-size: contain;width: 25px;height: 25px;}

#navi .menu li::after{content: "";display: block;position: absolute;right: 15px;top: 50%;width: 8px;height: 8px;border: 2px solid #42a5f5;border-left: 0;border-bottom: 0;transform: translateY(-50%) rotate(45deg);}
.menu-parent {height: auto;width: 100%;}
#navi .menu li::after:nth-child(3){right: 15px;}
.menu-parent:first-child {border-top: 1px solid #DDD;}
#menu-navibtn:checked ~ #navi {position: fixed;overflow-y: scroll;overflow-x: hidden;height: 100%;width: 100%;top: 60px;z-index: 9999;display: block;}
#menu-navibtn:checked ~ * .menu {display: block; opacity: 1;}
#menu-navibtn:checked ~ * .navi-cv_box {display: block; opacity: 1;}
#menu-navibtn:checked ~ * .menu-parent {max-height: inherit;overflow-y: visible;}
#menu-navibtn:checked ~ * .menu-child {max-height: 0;overflow-y: hidden;visibility: hidden;}
.menu-parent .menu-child {position: relative;opacity: 1;padding: 0;top: 0;width: 100%; display: flex;flex-wrap: wrap;justify-content: space-around;align-items: center;}
.menu-parent > label:hover {cursor: pointer;cursor: hand;}
#navi .menu > li a {font-size: 17px;text-align: left;padding: 17px 20px 17px 50px;}
#navi .menu > li.btn-phone_cta {margin: 10px 4%;border: none;}
#navi .menu > li.btn-phone_cta::before,
#navi .menu > li.btn-phone_cta::after {content: none;}
#navi .menu > li.btn-phone_cta a{display: block;padding: 0;border: none;}
#navi .menu > li .menu-child a {font-size: 15px;text-align: left;padding: 15px 10px 15px 20px;letter-spacing: 0;}
#navi .menu > li .menu-child .txt-multiple a {padding: 5px 10px 4px 20px;}
#navi .menu > li .menu-child .lines a {padding: 6px 10px 6px 20px;font-size: 15px;line-height: 1.3;}
#navi li.menu-parent::after{content: none;}
#navi input[type="checkbox"]:checked ~ .menu-child {max-height: inherit;overflow-y: visible;visibility: visible;border: none;}
.angletoggle::before,.angletoggle::after  {content: '';display: inline-block;position: absolute;width: 3px;height: 25px;background: #fff;left: 50%;top: 50%;transform: translate(-50%, -50%);transition: .2s;}
.angletoggle::after {transform: translate(-50%, -50%) rotate(90deg);}
#navi input[type="checkbox"]:checked ~ * .angletoggle:before {content: '';display: inline-block;position: absolute;width: 3px;height: 25px;background: #fff;left: 50%;top: 50%;transform: translate(-50%, -50%) rotate(90deg);transition: .2s;}
#navibtn {display: block;position: absolute;top: 0;right: 0;}
#menu-navibtn:checked ~ label#navibtn span span::after {display: none;}
#navibtn {width: 60px;height: 60px;background: #42a5f5;margin-left: auto;display: block;position: fixed;z-index: 999;}
.menu_btn {position: relative;height: 22px;top: 13px;}
.menu_btn span {position: absolute;left: 50%;-webkit-transform: translateX(-50%);transform: translateX(-50%);height: 3px;background-color: #fff;-webkit-transition: all 0.4s;transition: all 0.4s;}
.menu_btn span:nth-child(1) {top: 0;}
.menu_btn span:nth-child(2) {top: 10px;}
.menu_btn span:nth-child(3) {bottom: 0;}
.menu_btn span:not(.txt) {width: 25px;}
.menu_btn span.txt {width: 100%;background: none;bottom: 0;text-align: center;}
.menu_btn span.txt::after {content: 'メニュー';font-size: 10px;color: #fff;}
#navibtn.active span:nth-child(1) {-webkit-transform: translate(-12px, 10px) rotate(-45deg);transform: translate(-12px, 10px) rotate(-45deg);}
#navibtn.active span:nth-child(2) {opacity: 0;}
#navibtn.active span:nth-child(3) {-webkit-transform: translate(-12px, -9px) rotate(45deg);transform: translate(-12px, -9px) rotate(45deg);}
#navibtn.active span.txt::after {content: '閉じる';}
}


/*-----------------------------------------------
 *	letter-wrap
-----------------------------------------------*/
.questionnaire-li {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.questionnaire-li li {
  background: url('../img/bg-squares.png') left top repeat #fff;
  border: #dddada 2px solid;
  padding: 25px 25px 5px;
  font-size: 20px;
  text-align: center;
}
.questionnaire-li li a {
  border: #ccc 1px solid;
  display: block;
  position: relative;
}
.questionnaire-li li a:after {
  position: absolute;
  bottom: -1px;
  right: -1px;
  width: 30px;
  height: 30px;
  background: url(../img/icon-glass.png) no-repeat;
  content: '';
}
@media only screen and (max-width: 768px) {
  .questionnaire-li li {
    padding: 15px 15px 5px;
    width: 200px;
  }
}
@media only screen and (max-width: 568px) {
  .questionnaire-li {
    margin-bottom: 20px;
  }
  .questionnaire-li li {
    width: calc(100% / 2.6);
    font-size: 16px;
  }
  .questionnaire-li li:last-child {
    display: none;
  }
}
/*-----------------------------------------------
 *	footer-contact
-----------------------------------------------*/
.footer-contact {
  background: #f3fbff;
  border-top: #cee1fc 5px solid;
  position: relative;
  padding: 40px 0;
}
.footer-contact::before {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.footer-cv_area {
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .footer-cv_area {
    margin: 0 4%;
  }
}
@media only screen and (max-width: 568px) {
  .footer-contact {
    padding: 30px 0 20px;
  }
}
/*-----------------------------------------------
 *	bnr
-----------------------------------------------*/
#fl-bnr {
  position: fixed;
  bottom: 40%;
  right: 0;
  z-index: 100;
}
#bnr-wrap {
  background: #fff;
  padding: 60px 0;
  position: relative;
  /* margin-top: 80px; */
}
#bnr-wrap::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.bnr-li {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto;
}
.bnr-li li:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 1024px) {
  #fl-bnr {
    display: none;
  }
}
@media only screen and (max-width: 568px) {
  #bnr-wrap {
    padding: 30px 5% 30px;
    margin-top: 0px;
  }
  .bnr-li {
    margin: 0;
    max-width: 100%;
  }
  .bnr-li li {
    margin-bottom: 20px;
    max-width: initial;
    width: 100%;
  }
}

/*-----------------------------------------------
 *	bottom-menu
-----------------------------------------------*/
#fl-fxmenu {
  background: #ecf8ff;
  position: fixed;
  display: flex;
  bottom: 0;
  padding: 10px;
  border-top: solid 3px #0077c2;
  border-bottom: solid 3px #0077c2;
  -webkit-transition: all 0.7s;
  z-index: 99;
  width: 100%;
}
ul#bottom-menu {
  margin: 0 auto;
  display: flex;
  align-items: center;
  max-width: 1120px;
  transition: all 0.7s;
  width: 100%;
}
ul#bottom-menu li.fix-logo {
  max-width: 345px;
}
ul#bottom-menu li.phone {
  max-width: 300px;
  margin-left: auto;
}
ul#bottom-menu li.mail {
  max-width: 300px;
  margin-left: 20px;
}
ul#bottom-menu li.line {
  max-width: 300px;
  margin-left: 20px;
}
#bottom-menu .forpc:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  #fl-fxmenu {
    padding: 0;
    width: 100%;
  }
  ul#bottom-menu li.fix-logo {
    max-width: 215px;
  }
}
@media only screen and (max-width: 568px) {
  ul#bottom-menu {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70px;
    padding: 0 2%;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    background: #438ac9;
  }
  ul#bottom-menu li {
    text-align: center;
    font-size: 25px;
    width: 100%;
  }
  ul#bottom-menu li.fix-logo {
    display: none;
  }
  ul#bottom-menu li.phone img {
    margin: 0 auto;
  }
  ul#bottom-menu li.phone {
    width: 67%;
    max-width: unset;
    margin-left: 0;
    max-height: 60px;
  }
  ul#bottom-menu li.mail,ul#bottom-menu li.line {
    width: 30%;
    max-width: unset;
    margin-left: 2%;
  }
  ul#bottom-menu li.mail img,ul#bottom-menu li.line img {
    margin: 0 auto;
    max-height: 60px;
  }
  ul#bottom-menu li a {
    display: block;
    color: #fff;
    padding-bottom: 0;
    line-height: 1.2;
  }
}
/*-----------------------------------------------
 *	pagetop
-----------------------------------------------*/
.pagetop {display: none;position: fixed;bottom: 133px;right: 30px;z-index: 999;}
.pagetop a {display: block;background-color: #7da7f5;text-align: center;width: 60px;height: 60px;border-radius: 50%;-webkit-transition: all 0.2s;transition: all 0.2s;}
.pagetop a img {width: 22px;position: relative;top: 6px;}
@media only screen and (max-width: 568px) {
.pagetop {display: block;position: static;}
.pagetop a {width: 100%;height: auto;padding: 10px 0;border-radius: 0;}
.pagetop a img {vertical-align: middle;width: 21px;top: -2px;}
}
/*===============================================
 *	footer
===============================================*/
footer {background: #e7f3fd;padding: 60px 0 96px;}
footer > .inner {display: -ms-grid;display: grid;-ms-grid-columns: 380px 64%;grid-template-columns: 380px 64%;-ms-grid-rows: auto auto auto;grid-template-rows: auto auto auto;-webkit-column-gap: calc(100% - (380px + 64%));column-gap: calc(100% - (380px + 64%));margin: 0 auto 2vw;}
footer .ft_logo {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 1;grid-row: 1;max-width: 360px;}
footer .company_info {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 2;grid-row: 2;border-radius: 10px;background: #fff;padding: 22px 28px 22px;margin: 15px 0 15px;}
footer .company_info p, footer .company_info li {font-size: 16px;}
footer .company_info .name {font-size: 18px;font-weight: bold;margin-bottom: 7px;}
footer .company_info ul {margin-top: 10px;}
footer .company_info li {margin-bottom: 5px;padding-left:1em;text-indent:-1em;}
footer .company_info li::before {content: '';display: inline-block;background: #0077C2;width: 6px;height: 6px;border-radius: 50%;margin-right: 8px;position: relative;top: -3px;}
footer .company_info a {border-bottom: 1px solid #aaa;}
footer .ft_image {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 3;grid-row: 3;max-width: 226px;margin: 0 auto;}
footer .ft_menu {-ms-grid-column: 2;grid-column: 2;grid-row: 1 / -1;padding-top: 3px;}
footer .ft_menu .home_link {width: 100%;font-size: 17px;font-weight: bold;margin-bottom: 18px;}
footer .ft_menu .home_link a {position: relative;padding-left: 26px;}
footer .ft_menu .home_link a::before {content: '';background: url(../img/common/icon-home.png) no-repeat;width: 17px;height: 17px;position: absolute;top: 5px;left: 0;background-size: contain;}
footer .ft_menu ul {letter-spacing: 1px;width: 33%;}
footer .ft_menu li.menu_top {font-size: 16px;font-weight: bold;margin-bottom: 10px;padding-left: 24px;position: relative;}
footer .ft_menu li.menu_top::before {content: '';background: url(../img/common/hd-arrow.png) no-repeat;background-size: contain;width: 16px;height: 16px;position: absolute;left: 0;top: 7px;}
footer .ft_menu li:not(.menu_top) {font-size: 15px;padding-left: 16px;margin: 0 0 .7em 25px;line-height: 1.4;position: relative;}
footer .ft_menu li:not(.menu_top) a:hover {color: #0077C2;}
footer .ft_menu li:not(.menu_top)::before {content: '';width: 6px;height: 6px;margin: 0 10px 0 0;border-top: 2px solid #0077C2;border-right: 2px solid #0077C2;transform: rotate(45deg);position: absolute;left: 0;top: 8px;}
.ttl_left_border {font-size: 20px;position: relative;border-bottom: 2px solid #dde5e7;padding: 4px 0 10px 25px;margin-bottom: 30px;}
.ttl_left_border::before {content: '';background: -webkit-gradient(linear, left top, left bottom, from(rgba(141, 182, 238, 0.5)), color-stop(50%, rgba(141, 182, 238, 0.5)), color-stop(50%, #0077c2), to(#0077c2));background: linear-gradient(180deg, rgba(141, 182, 238, 0.5) 0%, rgba(141, 182, 238, 0.5) 50%, #0077c2 50%, #0077c2 100%);height: 56%;width: 6px;display: block;position: absolute;left: 0;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.ttl_left_border + p {margin-top: -5px;}
@media only screen and (max-width: 1024px) {
footer .company_info {padding: 20px 20px 25px;}
footer > .inner {-ms-grid-columns: 42% 56%;grid-template-columns: 42% 56%;-webkit-column-gap: 2%;column-gap: 2%;}
footer .ft_menu li:not(.menu_top) {font-size: 14px;}
}
@media only screen and (max-width: 960px) {
footer {padding: 5vw 0 4vw;}
footer > .inner {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
footer .company_info {padding: 2.5vw 3vw;margin: 25px 0 25px;}
footer .company_info .tel {margin-left: 10px;}
footer .company_info img.ft_image {display: none;}
footer .ft_menu {padding: 0;}
footer .ft_menu .home_link {margin-bottom: 2.0vw;}
footer .ft_menu li.menu_top {font-size: 15px;padding-left: 22px;margin: 0px 0 5px 0;}
footer .ft_menu li.menu_top::before {top: 5px;}
.ttl_left_border {font-size: 19px;padding: 4px 0 6px 20px;margin-bottom: 20px;}
}
@media only screen and (max-width: 568px) {
footer {padding: 20px 0 12px;}
footer .ft_menu .home_link {display: none;}

footer > .inner {-ms-grid-columns: auto;grid-template-columns: auto;-ms-grid-rows: (auto)[4];grid-template-rows: repeat(4, auto);}
footer .ft_logo {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 1;grid-row: 1;width: 78%;display: block;margin: 0 auto 20px;}
footer .company_info {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 3;grid-row: 3;margin: 5%;padding: 12px 19px 16px;}
footer .company_info ul {margin-top: 6px;}
footer .company_info p, footer .company_info li {margin-bottom: 10px;font-size: 15px;}
footer .company_info li {padding-left: 1.0em;text-indent: -1.0em;}
footer .company_info li::before {width: 5px;height: 5px;}
footer .company_info .name {font-size: 16px;margin-bottom: 4px;}
footer .company_info .tel {font-size: 16px;margin: 0;}
footer .ft_image {display: none;margin-bottom: 30px;}
footer .ft_menu {-ms-grid-column: 1;grid-column: 1;-ms-grid-row: 2;grid-row: 2;margin: 0;}
footer .ft_menu .row {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
footer .ft_menu ul {background: #fff;width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}
footer .ft_menu ul li.menu_top {font-size: 18px;background: #0077c2;color: #fff;text-align: center;padding: 9px 0 13px;width: 100%;margin: 0;}
footer .ft_menu ul li.menu_top::before {content: none;}
footer .ft_menu ul li:nth-child(even):not(.menu_top) {border-right: 1px solid #e2e2e2;}
footer .ft_menu ul li:not(.menu_top) {width: 50%;margin: 0;padding: 0;border-bottom: 1px solid #e2e2e2;line-height: 1.4;font-weight: bold;box-sizing: border-box;}
footer .ft_menu ul li:not(.menu_top)::before {content: none;}
footer .ft_menu ul li:not(.menu_top) a {height: 50px;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding-left: 16px;}
footer .ft_menu ul li:not(.menu_top) a::before {content: '';width: 6px;height: 6px;margin: 0 10px 0 0;border-top: 2px solid #0077C2;border-right: 2px solid #0077C2;transform: translate(100%, -50%) rotate(45deg);position: absolute;right: 5px;top: 50%;}
.ttl_left_border {padding: 4px 0 8px 17px;margin-bottom: 18px;}
.ttl_left_border::before {width: 5px;height: 73%;top: 48%;}
}
/*===============================================
 *	Copyright
===============================================*/
#copy {background: #0077c2;font-size: 13px;padding: 10px 0;text-align: center;}
#copy .copy_box {color: #fff;max-width: 1120px;width: 100%;margin: 0 auto;display: flex;flex-direction: row-reverse;justify-content: space-between;}
#copy a{color: #fff;}
@media only screen and (max-width: 768px) {
#copy {margin-bottom: 24px;}
}
@media only screen and (max-width: 568px) {
#copy .copy_box {display: block;}
#copy .copy_box ul{margin: 0 auto 1em;}
#copy {font-size: 13px;margin-bottom:58px;}
}
/*===============================================
 *	お勧め相互リンクバナー
===============================================*/
footer .recommended_links .inner{margin: 0 auto 3vw;}
.recommended_links .wrap{display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.recommended_links ul {gap: 20px 2%;}
.recommended_links li {width: 23.5%;}
@media only screen and (max-width: 568px) {
.recommended_links {margin: 0 5% 30px;}
.recommended_links ul {gap: 15px 3.5%;}
.recommended_links li {width: 48%;}
}
/*===============================================
 *	SNS　Icon
===============================================*/
.sns-list{display: flex;justify-content: space-between;max-width: 120px;}
.sns-list li{max-width: 35px;}
.sns-list li:nth-child(2){margin: 0 10px;}
/*-----------------------------------------------
 *　買取事例
-----------------------------------------------*/
#example-list {
  margin-top: 30px;
}
#example-list li {
  width: calc(100% / 3.1);
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  border: solid 2px #dfdfdf;
  text-align: center;
}
#example-list li img {
  aspect-ratio: 1.414 / 1;
  object-fit: cover;
  border-radius: 5px;
}
#example-list li .price_ttl {
  display: block;
  color: #fff;
  font-size: 20px;
  width: 100%;
  padding: 5px;
  background: #ee8190;
}
#example-list li p {
  text-align: left;
  height: auto;
}
#example-list li p:first-of-type {
  padding: 10px 0;
}
#example-list li .ex-price {
  font-size: 42px;
  text-align: center;
  height: auto;
  margin-top: 15px;
  letter-spacing: 0;
}
@media only screen and (max-width: 568px) {
  #example-list {
    width: 90%;
    margin: 15px auto 0;
  }
  #example-list li {
    width: calc(100% / 2.1);
    padding: 15px;
  }
  #example-list li p {
    height: auto;
    letter-spacing: 0;
  }
  #example-list li span {
    font-size: 14px;
  }
  #example-list li .ex-price {
    font-size: 24px;
    letter-spacing: 0;
    margin-top: 0;
  }
  #example-list li:nth-child(3) {
    display: none;
  }
}
/*-----------------------------------------------
 *　よくある質問
-----------------------------------------------*/
#sec-faq {
  text-align: center;
}
#sec-faq h2,
#sec-faq h3 {
  display: inline;
  font-size: 46px;
}
#sec-faq .faq-box {
  border: solid 8px #d0e8fc;
  border-radius: 10px;
  background: #fff;
  padding: 30px 40px;
  margin-top: 30px;
}
.faq-list li {
  text-align: left;
  border-bottom: 2px solid #e2e2e2;
}
.faq-list li:last-child {
  margin-bottom: 0;
  border-bottom: unset;
}
.faq-list dt {
  position: relative;
  padding: 15px 0 15px 60px;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
}
.faq-list dt:before {
  content: '';
  background: url('../img/common/icon-q.png') left no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.faq-list dt:after {
  content: '';
  position: absolute;
  background: url('../img/common/icon-open.png') right no-repeat;
  top: 50%;
  right: 0;
  width: 30px;
  height: 30px;
  transition: 0.3s;
  transform: translate(0, -50%);
}
.faq-list dt.close:after {
  content: '';
  position: absolute;
  background: url('../img/common/icon-close.png') right no-repeat;
  transition: 0.3s;
  top: 50%;
  transform: translate(0, -50%);
}
.faq-list dd {
  position: relative;
  padding: 15px 0 15px 60px;
}
.faq-list dd::before {
  content: '';
  background: url(../img/common/icon-a.png) no-repeat center;
  background-size: contain;
  position: absolute;
  left: 0;
  width: 40px;
  height: 40px;
  top: 50%;
  transform: translate(0, -50%);
}
@media only screen and (max-width: 568px) {
  #sec-faq {
    margin-top: 30px;
  }
  #sec-faq h2,
  #sec-faq h3 {
    font-size: 28px;
  }
  #sec-faq .faq-box {
    border-left: 0px;
    border-right: 0px;
    border-top: solid 4px #d0e8fc;
    border-bottom: solid 4px #d0e8fc;
    border-radius: 0;
    padding: 15px;
  }
  .faq-contents {
    padding: 15px 10px;
  }
  .faq-list dt {
    padding: 15px 5% 15px 50px;
    font-size: 16px;
  }
  .faq-list dt:before {
    width: 35px;
    height: 35px;
  }
  .faq-list dt:after {
    width: 15px;
    height: 15px;
    background-size: contain;
  }
  .faq-list dt.close:after {
    width: 15px;
    height: 8px;
    background-size: contain;
  }
  .faq-list dd {
    padding: 15px 5% 15px 50px;
    font-size: 16px;
  }
  .faq-list dd::before {
    width: 35px;
    height: 35px;
  }
}
@media only screen and (max-width: 320px) {
  .faq-list dt {
    padding: 0.5em 0.5em 0.5em 1.75em;
    font-size: 14px;
    background-size: 18px;
  }
}

/*===============================================
 *	その他の作業事例（TOP）
===============================================*/
#sec-case .case_list_box .gray-border {margin-top: 45px;padding:0 0 15px 20px;margin-bottom: 30px;color: #333333;}
.case-contents .date_time{font-size:13px;color:var(--site-primary);margin-bottom: 5px;text-align: left;}
.case-contents .date_time time{padding-left: 22px;background: url(../img/common/icon-clock.png) no-repeat left center;background-size: 16px;}
.case_list_box .case_list::after {content: none;}
.case_list{letter-spacing: 0.05em;margin-bottom: 30px;gap: 30px 0;}
.case_list::after{content:"";display: block;width:32%;}
.case_list li{width: calc(100% / 3.2);background: #fff;margin-bottom: 0;border-radius: 10px;}
.case_list li .ttl {font-size: 19px;color: #fff;background: #0077c2;border-top-left-radius: 10px;border-top-right-radius: 10px;padding: 18px 30px;line-height: 1.45;}
.case_list li .photo {margin-bottom: 20px;position: relative;}
.case_list li img {aspect-ratio: 1.618 / 1;-o-object-fit: cover; object-fit: cover;width: 100%;}
.case_list li .txt_box {border-left: #dfdfdf 2px solid;border-right: #dfdfdf 2px solid;border-bottom: #dfdfdf 2px solid;border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;padding: 20px 30px 40px;}
.case_list li .btn_border {width: 260px;margin-top: 20px;}
.case_list li .txt-info{font-size: 18px;margin-bottom: 10px;text-align: center;line-height: 1.6;position: relative;display: flex;justify-content: center;align-items: flex-start;}

.case_list li .txt-info::before{content: '';background-size: contain;display: inline-block;position: relative;margin-right: 8px;width: 30px;height: 30px;}
.building-house::before{background: url(../img/case/icon-house.png) top left no-repeat;}
.building-mansion::before{background: url(../img/case/icon-mansion.png) top left no-repeat;}
.building-office::before{background: url(../img/case/icon-office.png) top left no-repeat;}
.building-heights::before{background: url(../img/case/icon-heights.png) top left no-repeat;}
.building-other::before{background: url(../img/case/icon-other.png) top left no-repeat;}
.case_list li dl {font-size: 16px;margin-bottom: 15px;}
.case_list li dt {background: #0077c2;color: #fff;padding: 5px 0 5px;text-align: center;width: 28%;}
.case_list li dd {background: #fff;border: #0077c2 2px solid;padding: 2px 0;text-align: center;font-weight: bold;width: 28%;}
.case_list li dt:nth-of-type(1) {width: 21%;}
.case_list li dd:nth-of-type(1) {width: 23%;}
.case_list li .total-price {color: #cf1126;margin-bottom: 30px;font-weight: bold;letter-spacing: 0;}
.case_list li .total-price .txt-on_price_total {background: #cf1126;color: #fff;font-size: 18px;padding: 7px 13px;position: relative;margin: 0 10px 0 0;letter-spacing: 1px;top: -5px;}
.case_list li .total-price .num {font-size: 28px;line-height: 1;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 15px;}
@media only screen and (max-width: 1024px) {
.case_list li .txt_box {padding: 20px 20px 30px;}
.case_list li .btn_border {width: 100%;}
.case_list li .txt-info{font-size: 18px;}
.case_list li dl {font-size: 14px;}
.case_list li .total-price .txt-on_price_total {font-size: 16px;padding: 7px 12px;margin: 0 10px 0 0;}
.case_list li .total-price .num {font-size: 26px;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 14px;}
}
@media screen and (max-width: 960px) {
.case_list {gap: 30px 0;letter-spacing: 0;}
.case_list li .txt-info {font-size: 14px;}
.case_list li .ttl {font-size: 16px;padding: 10px 11%;}
.case_list li .btn_border {margin-top: 12px;}
}
@media only screen and (max-width: 768px) {
.case_list li .total-price .txt-on_price_total {font-size: 12px;padding: 5px;}
.case_list li .total-price .num {font-size: 20px;}
.case_list li .total-price .yen,.case_list li .total-price .tax {font-size: 11px;}
.case_list li dl {font-size: 12px;}
.case_list li .txt-info::before {margin-right: 0;width: 25px;height: 25px;}
} 
@media only screen and (max-width: 568px) {
#sec-case .case_list_box .gray-border {margin: 30px auto 20px;font-size: 20px;padding: 0 0 10px 20px;}
.case_list_box .case_list li:nth-child(3) {display: none;}
.case_list_box .case_list li:nth-child(2) {margin-bottom: 0;}
.case_list {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;gap: 20px 0;padding: 0 5%;}
.case_list li {width: 100%;}
.case_list li .ttl {font-size: 18px;line-height: 1.5;padding: 10px 20px 13px;}
.case_list li .txt_box {padding: 14px 20px 25px;}
.case_list li .btn_border {width: 72.9%;margin-top: 18px;}
.case_list li .txt-info {font-size: 18px;line-height: 1.4;}
.case_list li .txt-info::before {width: 40px;height: 40px;margin-right: 8px;}
.case_list li dl {font-size: 16px;}
.case_list li .total-price .txt-on_price_total {font-size: 17px;padding: 5px 15px;position: relative;top: -5px;}
.case_list li .total-price {margin-bottom: 20px;}
.case_list li .total-price .num {font-size: 30px;}
.case_list li .total-price .yen {font-size: 18px;}
.case_list li .total-price .tax {font-size: 14px;}
.connection_txt{margin: 0 auto;width: 90%;}
}
/*===============================================
 *	その他の作業事例 対応作業
===============================================*/
.customer-infobox{width: 100%;display: grid;grid-template-columns: 176px 80%;grid-template-rows: auto auto auto;}
.case_list li .txt-branch{background: #42a5f5;border-radius: 6px;color: #fff;font-size: 18px;font-weight: bold;padding: 5px 20px;margin: 0 0 10px 0;text-align: center;}
.branch-box{background: #42a5f5;border-radius: 10px;height: 108px;position: relative;grid-column: 1;grid-row: 1/-2;}
.branch-box .txt-branch{color: #fff;font-size: 20px;font-weight: bold;text-align: center;position: absolute;left:50%;top: 50%;transform : translate(-50%,-50%);width: 100%;}


.pack-badge{background: #e7f3fd;color: #0077c2;padding: 10px 20px 11px;font-size: 22px;font-weight: bold;text-align: center;}
.pack-other{background: #e7f3fd;color: #0077c2;padding: 10px 20px 11px;font-size: 22px;font-weight: bold;display: block;}

@media only screen and (max-width: 1024px) {
.customer-infobox {grid-template-columns: 156px 80%;}
.case_list li .txt-branch{font-size: 16px;}
.customer-infobox .txt-branch {font-size: 18px;}
.pack-badge,.pack-other {font-size: 16px;}
}
@media screen and (max-width: 960px) {
.customer-infobox {grid-template-columns: 156px 77%;}
}
@media only screen and (max-width: 768px) {
.customer-infobox .txt-branch {font-size: 16px;}
.customer-infobox {grid-template-columns: 32% 65%;}
}
@media only screen and (max-width: 568px) {
.branch-box {height: auto;margin-bottom: 15px;padding: 10px;grid-column: none;grid-row: none;width: 50%;}

.branch-box .txt-branch {font-size: 15px;position: static;transform: none;}
.pack-badge,.pack-other {font-size: 16px;padding: 10px;grid-column: none;grid-row: none;}
.customer-infobox {width: 100%;grid-template-columns: none;grid-template-rows: none;display: flex;margin-bottom: 10px;}
}

/*-----------------------------------------------
 *　ご挨拶
-----------------------------------------------*/
#greeting-sec {
  padding: 60px 0 80px;
}
#greeting-sec h2 {
  font-size: 46px;
  text-align: center;
  margin: 0 auto 50px;
}
#greeting-sec h2 span{
  
}
#greeting-sec .row img {
  width: 44.7%;
  max-width: 500px;
}
#greeting-sec .txt-box {
  width: 51.3%;
}
#greeting-sec .greet-ttl {
  font-size: 26px;
  margin: -5px 0 15px;
}
#greeting-sec .bnr-books {
  display: block;
  margin: 70px auto 0;
}
@media (max-width: 568px) {
  #greeting-sec {
    width: 90%;
    margin: 0 auto;
    padding: 30px 0 40px;
  }
  #greeting-sec .row {
    flex-direction: column;
  }
  #greeting-sec h2 {
    font-size: 28px;
    margin: 0 auto 30px;
  }
  #greeting-sec .row img {
    width: 100%;
  }
  #greeting-sec .txt-box {
    width: 100%;
  }
  #greeting-sec .greet-ttl {
    font-size: 20px;
    text-align: center;
    margin: 20px 0 12px;
  }
  #greeting-sec .bnr-books {
    margin: 30px auto 0;
  }
}
/*-----------------------------------------------
 * 20%OFFキャンペーン
-----------------------------------------------*/
.campaign {
  background: #fff;
  padding: 50px 0;
}
.campaign.area_page .camp_bnr{
  padding-top: 0;
}
.campaign.under_page {
  background: none;
}
.camp_bnr {
  padding: 0 0 40px;
}
.camp_bnr img {
  margin-bottom: 10px;
  border-radius: 10px;
}
.camp_bnr p {
  color: #a3a3a3;
  font-size: 14px;
  text-align: right;
}
.invoice_bnr {
  margin: 40px auto 0;
}
.invoice_bnr a:hover img {
  opacity: 0.85;
}
@media only screen and (max-width: 568px) {
  .campaign {
    padding: 30px 5%;
  }
  .camp_bnr {
    padding: 0 0 25px;
  }
  .camp_bnr img {
    margin-bottom: 6px;
  }
  .camp_bnr p {
    font-size: 12px;
    /*padding-left: 1.25em;
    text-indent: -1.25em;*/
    text-align: left;
  }
  .campaign.area_page .camp_bnr{
    padding-top: 0;
  }
  .campaign.under_page .camp_bnr {
    /* padding: 0 5% 35px; */
  }
  .invoice_bnr {
    margin: 0 auto;
  }
}

/*--------------------------------
	CM
--------------------------------*/
#media-sec {padding: 60px 0;}
#media-sec .media-ttl {font-size: 46px;text-align: center;margin: 0 auto 50px;}
#media-sec .underline {position: relative;z-index: 1;background: linear-gradient(transparent 75%, #ffd800 75%);}
@media (max-width: 568px) {
  #media-sec {padding: 30px 0;width: 90%;margin: 0 auto;}
  #media-sec .media-ttl {font-size: 28px;margin: 0 auto 30px;}
  }

.media-slide{
  background: #0077C2;
  border-radius: 6px;
  padding: 30px;
  margin:50px 0 30px;
}
.slide-title{
  background: #fff;
  padding:50px 30px 20px;
  width: 70%;
  position: relative;
  text-align: center;
}
.media-slide .news p::before{
  content: '';
  background: url(../img/top/icon_cm.png)no-repeat;
  background-size: contain;
  width: 75px;
  height: 52px;
  position: absolute;
  left: 20px;
  top: 20px;
}
.media-slide .magazine p::before{
  content: '';
  background: url(../img/top/icon-magazine.png)no-repeat;
  background-size: contain;
  width: 69px;
  height: 52px;
  position: absolute;
  left: 20px;
  top: 20px;
}
.media-slide .news-paper p::before{
  content: '';
  background: url(../img/top/icon-news.png)no-repeat;
  background-size: contain;
  width: 56px;
  height: 48px;
  position: absolute;
  left: 20px;
  top: 20px;
}
.media-slide .book p::before{
  content: '';
  background: url(../img/top/icon_book.png)no-repeat;
  background-size: contain;
  width: 48px;
  height: 57px;
  position: absolute;
  left: 20px;
  top: 20px;
}
.media-slide .book{
  padding: 20px 30px 20px;
}
.no-link p{
  padding-top: 30px;
  padding: 30px 30px 20px!important;
  line-height: 1.5!important;
}
.slide-title p{
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.slide-title p span{
  font-size: 30px;
  color: #0077C2;
}
.slide-title a{
  max-width: 200px;
  margin: 10px auto 0;
  display: block;
}
.slide-title a img{
  width: 100%;
  max-width: 200px;
}
.slide-title a.slide-link{
  max-width: 100%;
  display: inline-block;
  margin: 0 auto 5px;
}
.slide-title a.slide-link span{
  border-bottom: 3px solid #0077C2;
  line-height: 1.4;
}
.slide-title a.slide-link:hover span{
  border-bottom: none;
}
.slick-slide .slide-img{
  max-width: 487px;
  width: 100%;
}
.slick-slide .slide-img img{
  max-width: 487px;
  width: 100%;
}
#thumbs{
  margin-top: 25px;
}

#thumbs .slick-slide{
  height: 112px;
}
.slide-arrow{
  width: 40px;
  height: 40px;
}
.slick-slider .prev-arrow{
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  z-index: 10;
}
.slick-slider .next-arrow{
  position: absolute;
  right: -70px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  z-index: 10;
}
#slider .slick-list,
#slider .slick-track{
  height: 256px;
}
#thumbs .slick-track{
  height: 112px;
}
#thumbs .slick-center{
  position: relative;
}
#thumbs .slick-center::before {
  position: absolute;
  content: '';
  width: 213px;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(255,255,255,.5);
  z-index: 1;
  }
  @media only screen and (max-width: 768px) {
      .slide-title p{
          font-size: 18px;
      }
      .slide-title p span{
          font-size: 22px;
      }
      .slide-title a img{
          max-width: 150px;
      }
      .slide-title a{
          max-width: 150px;
      }
      .media-slide .news p::before{
          width: 55px;
          height: 32px;
      }
      .l-inner .media-slide{
          max-width: 86%;
          margin: 30px auto;
      }
      .slide-title{
          padding: 40px 15px 10px;
      }
      #thumbs{
          margin-top: 0;
      }
      #slider .slick-list,
      #slider .slick-track{
        height: 29vw;
      }
      #thumbs .slick-list,
      #thumbs .slick-track{
        height: 9vw;
      }
      .media-slide .book{padding: 23px 15px 10px;}
      .media-slide .book p::before {
        width: 40px;
      }
  }
  @media only screen and (max-width: 568px) {
    .slick-slide img{
      width: 100%;
    }
      .media-slide{
        padding: 20px;
      }
      .slick-slide .row-rev{
          flex-direction: column;
      }
      .l-inner .media-slide{
          max-width: 75%;
      }
      .slide-title{
          width: 100%;
      }
      .l-inner .media-slide{
          padding: 20px;
          margin: 20px auto;
      }
      #slider .slick-list,
      #slider .slick-track{
        height: 89vw;
      }
      #thumbs .slick-list,
      #thumbs .slick-track{
        height: auto;
      }
      #thumbs{
          margin-top: 10px;
      }
      #thumbs .slick-center::before {
          height: 100%;
          width: 100%;
      }
      #thumbs .slick-slide{
        height: auto;
      }
      .slide-title{
          padding: 30px 0 10px;
          min-height: 155px;
      }
      .slide-title p span {
        font-size: 20px;
      }
      .slide-arrow{
          width: 20px;
          height: 20px;
      }
      .slick-slider .prev-arrow{
          top:50%;
          left: -20px;
      }
      .slick-slider .next-arrow{
          top:50%;
          right: -40px;
      }
      .media-slide .news p::before {
        width: 40px;
      }
      .media-slide .news-paper p::before{
          width: 40px;
          height: 39px;
      }
      .media-slide .magazine p::before{
          width: 40px;
          height: 37px;
      }
      .media-slide .book p::before{
          width: 32px;
          height: 45px;
      }
      .media-slide .book{
          padding: 20px 0 10px;
      }
      .media-slide .book p{
        font-size: 16px;
      }
      .media-slide .book p span{
        font-size: 18px;
      }
      .no-link p{
        padding: 18px 20px 20px !important;
      }
  }


/*#cm_tv{background: #0077C2;border-radius: 6px;padding: 40px;margin: 50px auto 60px;}
#cm_tv .txt {background: #fff;border-radius: 6px;padding:35px 20px;width: 53%;}
#cm_tv h3 {font-size: 24px;font-weight: bold;text-align: center;line-height: 1.4;position: relative;top: -6px;}
#cm_tv h3 span {font-size: 30px;color: #1E78C5;position: relative;padding-left: 80px;}
#cm_tv h3 span::before {content: '';background: url("../img/media/icon_cm.png") no-repeat;background-size: contain;width: 75px;height: 52px;position: absolute;left: -13px;top: 9px;}
#cm_tv h3 a {text-decoration: underline;text-underline-offset: 6px;color: #1E78C5;}
#cm_tv h3 a:hover {text-decoration: none;}
#cm_tv p {max-width: 200px;margin: 0 0 0 auto;}
#cm_tv .movie_thumbnail-yt {width: 42%;}
@media only screen and (max-width: 1024px) {
#cm_tv h3 {line-height: 1.4;}
#cm_tv h3 span {font-size: 32px;padding-left: 50px;}
#cm_tv h3 span::before {width: 50px;top: 5px;left: -10px;}
}
@media only screen and (max-width: 960px) {
#cm_tv {margin: 4vw auto 5vw;padding: 3vw;}
#cm_tv .txt {padding: 15px;width: 52%;}
#cm_tv h3 {font-size: 17px;}
#cm_tv h3 span {font-size: 22px;letter-spacing: 0px;}
#cm_tv p {max-width: 180px;margin: 0 auto;}
}
@media only screen and (max-width: 568px) {
#cm_tv {flex-direction: column;padding: 20px 25px 25px;margin: 30px auto 30px;}
#cm_tv .txt {margin: 0 0 1em 0;padding: 5%;width: 100%;}
#cm_tv h3 {font-size: 17px;top: 0;line-height: 1.5;margin-bottom: 9px;}
#cm_tv h3 span {font-size: 17px;padding-left: 50px}
#cm_tv h3 span::before {width: 48px;top: 5px;}
#cm_tv h3 a {text-underline-offset: 4px;}
#cm_tv .movie_thumbnail-yt {width: 100%;}
}*/
/*-----------------------------------------------
 *	government
-----------------------------------------------*/
.government-contents{background: #fff;border-left: #0077c2 4px solid;border-right: #0077c2 4px solid;border-bottom: #0077c2 4px solid;border-radius: 6px;margin: 60px 0;}
.government-contents .ttl-government{color: #fff;font-size: 36px;font-weight: bold;text-align: center;padding: 15px 0 20px;}
.government-contents .ttl-government span {color: #fbe041;}
.government-inner{padding: 35px;}
.subttl-government{font-size: 28px;font-weight: bold;margin: 0 0 .5em 0;line-height: 1.5;}
.government-contents .main-contents{margin: 0 0 3em 0;}
.government-contents .main-contents ul {gap: 0 3%;margin-top: 1em;}
.government-contents .main-contents ul li {width: 40%;}
.government-contents .main-txtbox{width: 50%;}
.government-contents a:hover img {opacity: 0.8;}
img.photo-payment{max-width: 430px;width: 100%;}
img.img-sdgs{margin: 0 0 1em 0;}
.reference-link{display: flex;justify-content: space-between;flex-wrap: wrap;align-items: flex-start;width: 100%;}
.reference-link li{background: #fff;border: #0077c2 4px solid;border-radius: 6px;margin-bottom: 20px;width: 50%;}
.reference-link li:last-child{margin-bottom: 0;}
.reference-link li dl:hover{background: rgba(52,107,182,.1);}
.reference-link dl {display: flex;flex-wrap: wrap;}
.reference-link dl,.reference-link dl > dt,.reference-link dl > dd {box-sizing: border-box;}
.reference-link dl > dt,.reference-link dl > dd {display: flex;flex-direction: column;justify-content: center;}
.reference-link dl > dt {background: #0077c2;color: #fff;font-size: 14px;width: 20%;text-align: center;display: flex;justify-content: center;align-items: flex-start;}
.reference-link dl > dt::before {content: '';display: inline-block;position: relative;width: 20px;height: 20px;background: url("../img/government/icon-link.png") no-repeat;background-size: contain;left: 50%;transform: translateX(-50%);}
.reference-link dl > dt span {display: block;margin: 5px auto 0;}
.reference-link dl > dt img {margin: 0 auto 5px;width: 34px;}
.reference-link dl > dd {color: #0077c2;font-size: 16px;font-weight: bold;padding: 1em;width: 80%;letter-spacing: 1px;}
.reference-link dl > dd span{color: #444;font-size: 14px;font-weight: normal;display: block;}
.government-contents .sub-contents {background: #e7f3fd; padding: 26px 40px 30px;}
.government-contents .sub-contents .ttl {font-size: 22px; font-weight: bold;border-left: #0077c2 6px solid; padding-left:10px;margin-bottom: 14px;}
.government-contents .sub-contents ul {gap: 0 1.5%;margin-top: 1em;}

@media screen and (max-width: 1024px) {
.government-contents .main-txtbox {width: 52%;}
img.photo-payment {max-width: 390px; width: 45%;}
.government-contents .sub-contents ul li {width: 30%;}
}
@media screen and (max-width: 768px) {
.government-contents .ttl-government {font-size: 27px;}
.government-contents .main-contents {margin-bottom: 2em;}
.subttl-government {font-size: 20px;}
img.photo-payment {max-width: 310px;}
.reference-link li {width: 100%;}
.government-contents .sub-contents {padding: 20px 25px 25px;}
.government-contents .sub-contents .ttl {font-size: 18px;margin-bottom: 10px;}
}
@media only screen and (max-width: 568px) {
.subttl-government{text-align: center;line-height: 1.5;margin-top: 12px;}
.government-contents {margin: 2em 0 0; border-right: none; border-left: none;border-radius: 0;}
.government-contents .ttl-government {font-size: 22px;padding: 10px 0 12px;}
.government-inner {padding: 20px;}
.government-contents .main-contents {flex-direction: column-reverse;margin-bottom: 0.5em;}
.government-contents .main-contents ul {flex-direction: column;gap: 12px 0; align-items: center;}
.government-contents .main-contents ul li {width: 64%;}
.government-contents .main-txtbox {margin: 0 0 1.5em 0;width: 100%;}
img.photo-payment {max-width: initial;width: 100%;}
.reference-link dl {display: block;}
.reference-link dl > dt,.reference-link dl > dd {display: block;flex-direction: inherit;width: 100%;}
.reference-link dl > dt {display: flex;padding: 10px 0;}
.reference-link dl > dt span {display: block;margin: 0 auto;}
.reference-link dl > dt::before {width: 26px;height: 26px;left: 30%;transform: none;}
.reference-link dl > dd {font-size: 16px;}
.reference-link dl > dd span {font-size: 13px;}
.government-contents .sub-contents .ttl {font-size: 17px;padding-left: 7px;}
.government-contents .sub-contents ul {flex-direction: column;gap: 12px 0; align-items: center;}
.government-contents .sub-contents ul li {width: 77%;}
}
@media only screen and (max-width: 375px) {
.reference-link dl > dd {font-size: 16px;padding: 0.5em;}
.reference-link dl > dd span {font-size: 13px;}
.reference-link dl > dt::before {left: 28%;}
}
/*-----------------------------------------------
 *　電子決済
-----------------------------------------------*/
.credit-box .ttl {
  font-size: 30px;
  color: #fff;
  background: #0077c2;
  text-align: center;
  border-radius: 10px 10px 0 0;
  padding: 16px 0 20px;
}
.credit-box .box-inner {
  background: #fff;
  padding: 20px 40px 20px;
  border: 6px solid #d0e8fc;
  border-top: none;
  border-radius: 0 0 10px 10px;
}
.credit-box ul {
  width: 55%;
}
.credit-box ul li {
  width: 32%;
  font-size: 20px;
  font-weight: bold;
  border: 4px solid #0077c2;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 20px 5px 20px 12px;
  gap: 0 8px;
  letter-spacing: 0.05em;
}
.credit-box ul li span {
  text-align: center;
}
.credit-box .card-image {
  width: 43%;
}
@media only screen and (max-width: 1024px) {
  .credit-box ul li {
    font-size: 18px;
    padding: 20px 10px;
    gap: 0 5px;
  }
}
@media only screen and (max-width: 960px) {
  .credit-box .ttl {
    font-size: 24px;
  }
  .credit-box .box-inner {
    flex-direction: column;
    align-items: center;
    gap: 15px 0;
  }
  .credit-box ul {
    width: 80%;
  }
  .credit-box ul li {
    padding: 10px 5px 10px 10px;
  }
  .credit-box .card-image {
    width: 55%;
  }
}
@media only screen and (max-width: 568px) {
  .credit-box .ttl {
    font-size: 20px;
    padding: 8px 0 10px;
  }
  .credit-box .box-inner {
    padding: 18px 20px 10px;
    border-width: 4px;
    gap: 6px 0;
  }
  .credit-box ul {
    justify-content: space-between;
    width: 100%;
  }
  .credit-box ul li {
    border-width: 3px;
    font-size: 16px;
    width: 31.5%;
    flex-direction: column;
    padding: 10px 4px;
    font-size: 13px;
    gap: 3px 0;
    
  }
  .credit-box ul li:nth-child(2) img {
    margin-left: 7px;
  }
  .credit-box .card-image {
    width: 100%;
  }
}
/*===============================================
 *	SNS　コンテンツ 
===============================================*/
#content-Sns {margin-top: 80px;background: #d7f3f3;}
#content-Sns h2 {display: inline;font-size: 46px;}
#content-Sns .wrapper-box{margin-top: -60px;padding-top: 60px;padding-bottom: 80px;text-align: center;}
#content-Sns .inner {padding: 40px 35px 50px;background: #fff;margin-top: 45px;border: solid 4px #0077c2;border-radius: 10px;}
#content-Sns .inner > img {border: solid 2px #dfdfdf;border-radius: 10px;}
#content-Sns .inner p {font-size: 24px;text-align: center;line-height: 2em;margin-bottom: 1.5em;}
.sns-box{display: flex;align-items: center;flex-wrap: wrap;justify-content: center; gap: 0 3%;}
.sns-box li{background: #fff;font-size: 26px;font-weight: bold;width:30%;box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .1);outline-offset: -11px;}
.sns-box li a{display: block;text-decoration: none;padding: 8% 0;text-align: center;}
.sns-box li a::after{content: "";display: inline-block;width: 60px;height: 60px;margin: 0 0 0 20px;vertical-align: middle;}
.sns-box li a:hover{text-decoration: underline;}
.sns-box li.insta{border: #9f1d72 6px solid;outline: #fadaee 5px solid;}
.sns-box li.insta a::after{background: url("../img/sns/icon-instagram.png");background-size: contain;}
.sns-box li.insta a{color: #9f1d72;}
.sns-box li.face{border: #2073ba 6px solid;outline: #cfe6fa 5px solid;}
.sns-box li.face a::after{background: url("../img/sns/icon-facebook.png");background-size: contain;}
.sns-box li.face a{color: #2073ba;}
.sns-box li.tw{border: #1d9bf0 6px solid;outline: #d3eafa 5px solid;}
.sns-box li.tw a::after{background: url("../img/sns/icon-twitter.png");background-size: contain;}
.sns-box li.tw a{color: #1d9bf0;}
@media only screen and (max-width: 768px) {
.sns-box li a {padding: 15px;}
.sns-box li a::after {display: block;width: 50px;height: 50px;margin: 10px auto 0;}
}
@media only screen and (max-width: 568px) {
#content-Sns {margin-top: 30px;padding: 30px 5%;}
#content-Sns h2 {font-size: 28px;}
#content-Sns .wrapper-box {margin-top: -30px;padding: 0;padding-top: 30px;}
#content-Sns .inner {padding: 20px 18px 10px;margin-top: 30px;}
#content-Sns .inner p {font-size: 16px;text-align: left;line-height: normal;}
.sns-box li {font-size: 20px;width:100%;margin-bottom: 15px;}
.sns-box li a::after {display: inline-block;width: 40px;height: 40px;margin: 0 0 0 20px;}
}
/*===============================================
 *	モーダルウィンドウ
===============================================*/
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
    z-index: 99999;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: 0;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 4%;
}
#reason03 .list-underbar li .modal-content p.pop-tit,
#price-guide .list-underbar li .modal-content p.pop-tit{
  background: #42a5f5;
  color: #fff;
  font-weight: bold;
  padding: 5px 0;
  margin: 10px 0;
  text-align: center;
}
#reason03 .list-underbar li .modal-content p,
#price-guide .list-underbar li .modal-content p{
  position: relative;
  height: auto;
  color: #333;
  padding: 0;
  display: block;
  text-align: left;
}
.list-underbar li .modal-content p::before{
  content: none;
}
/*===============================================
 *	POPUP LINE 2025/04/11 add
===============================================*/
.popup_line {position: fixed;top: 0;left: 0;display: none;align-items: center;justify-content: center;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.75);z-index: 999;}
.popup-banner {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-family: "GenEiMGothic";max-width: 670px;width: 100%;}
.popup-banner ul{background: #0092b7;border-radius: 20px 20px 0 0;display: flex;justify-content: space-between;align-items: center;padding: 20px 40px;}
.popup-banner li{color: #fff;font-size: 23px;font-weight: bold;padding: 0 0 0 2.5em;line-height: 1.2;position: relative;letter-spacing: 0;margin: 0 !important;}
.popup-banner li::before{content: "";display: block;background: url("../img/top/popup/icon_chk.png") left no-repeat;background-size: contain;width: 46px;height: 46px;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.popup_btn_box{background: #fff;border-radius: 0 0 20px 20px;padding: 30px;}
.popup_btn_box a:hover{opacity: .8;}
.popup-close {display: block;position: absolute;width: 70px;height: 70px;border-radius: 50%;background: #000;right: -40px;top: -40px;cursor: pointer;}
.popup-close:hover {opacity: .8;}
.popup-close::before, .popup-close::after {content: "";position: absolute;top: 50%;left: 50%;width: 4px;height: 40px;background: #fff;}
.popup-close::before {transform: translate(-50%,-50%) rotate(45deg);}
.popup-close::after {transform: translate(-50%,-50%) rotate(-45deg);}
.popup_line.active {display: block;}
.popup_line.hidden {display: none;}
@media only screen and (max-width: 568px) {
.popup-banner {width: 90%;}
.popup-banner ul {border-radius: 10px 10px 0 0;padding: 15px 20px;}
.popup-banner li {font-size: 13px;padding: 0 0 0 2.25em;}
.popup-banner li::before {width: 23px;height: 23px;}
.popup_btn_box {border-radius: 0 0 10px 10px;padding: 15px;}
.popup-close {width: 35px;height: 35px;right: -15px;top: -15px;}
.popup-close::before, .popup-close::after {width: 3px;height: 20px;}
}
/*===============================================
 *	追従フッター改修
===============================================*/
.fixed_footer {background: #ecf8ff;border-top: 3px solid #0077c2;border-bottom: 3px solid #0077c2;  width: 100%;position: fixed;bottom: 0;padding: 12px 0;z-index: 100;}
.fixed_footer .footer_content {width: 90vw;max-width: 1300px;margin: 0 auto;}
.fixed_footer .logo {width: 31%;max-width: 370px;}
.fixed_footer .tel {width: 30%;max-width: 353px;margin-left: auto;}
.fixed_footer .mail {margin-left: 30px;width: 14%;max-width: 160px;}
.fixed_footer .line {margin-left: 10px;width: 14%;max-width: 160px;}
@media only screen and (max-width: 568px) {
  .fixed_footer {border: none;padding: 10px 0 0;}
  .fixed_footer .camp {background: #0077C2;margin: 0 2.65vw 8px;}
  .fixed_footer .camp p {text-align: center;font-size: 14px;font-weight: bold;color: #fff;-webkit-transform: skewX(-10deg);transform: skewX(-10deg);}
  .fixed_footer .camp p .txt_color {color: #f1e33f;}
  .fixed_footer .footer_content {width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;}
  .fixed_footer .tel {width: 58.8%;max-width: initial;margin: 0;}
  .fixed_footer .mail {width: 20.6%;max-width: initial;margin: 0;}
  .fixed_footer .line {width: 20.6%;max-width: initial;margin: 0;} 
}