/*!
style
 ______________________________*/

.bnr-ec-shop-sec {
  padding: 0 0 50px;
  text-align: center;
}

a.bnr-ec-shop {
  display: block;
  text-align: center;
}

a.bnr-ec-shop img {
  width: 400px;
  height: auto;
  margin: 0 auto;
}

.top_such_worries01 h3 {
  margin: 0 0 80px;
  padding: 0;
  text-align: center;
}

.top_such_worries01 h3 img {
  width: 38%;
  max-width: 425px;
}

.top_such_worries_bar {
  position: relative;
  background-color: #1e744a;
  height: 67px;
}

.top_such_worries_bar ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 40px;
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative;
  top: -70px;
}

.top_such_worries_bar {
  position: relative;
  width: 100%;
}

.top_such_worries_bar::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -25px;
  /* 高さ分下に飛び出させる */
  transform: translateX(-50%);
  width: 18px;
  height: 25px;
  background-image: url("../img/top/top_such_worries02.png");
  /* 画像パスをここに */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

.top_such_worries {
  border-bottom: 1px solid #0066c5;
}

.top_such_worries03 {
  padding: 0 0 80px;
}

.top_such_worries03 h3 {
  margin: 50px 0 27px;
  padding: 0;
  text-align: center;
}

.top_such_worries03 h3 img {
  width: 76%;
  max-width: 849px;
}

.top_such_worries03 p {
  text-align: center;
  line-height: 2;
}

/*
top_designtemp
_______________________*/

.top_designtemp_wrap {
  position: relative;
  background-color: #fff;
  background-image: url(../img/top/top_designtemp_bg.png);
  background-repeat: no-repeat;
  background-position: left bottom -3px;
  background-size: 30%;
  padding: 38px 0 0;
}

.top_designtemp_wrap ul {
  width: 100%;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 10% 80% 10%;
  grid-template-rows: 1fr;
  grid-column-gap: 0;
  position: relative;
  bottom: -50px;
  z-index: 100;
}

.top_designtemp_wrap ul li:nth-child(2) {
  text-align: right;
}

.top_designtemp_wrap ul li:nth-child(2) h3 {
  margin: 0 0 69px;
  padding: 0;
  text-align: center;
}

.top_designtemp_wrap ul li:nth-child(2) p {
  text-align: right;
  padding: 0 7% 20px;
  line-height: 2;
}

.top_designtemp_wrap ul li:nth-child(2) a {
  display: inline-block;
  text-align: right;
  padding: 0 7% 0;
}

.top_designtemp_wrap ul li:nth-child(2) a img {
  width: 190px;
  height: auto;
}

.top_designtemp_wrap ul li:nth-child(2) h3 img {
  width: 328px;
}

.top_designtemp_wrap ul li:nth-child(3) img {
  max-width: 76px;
}

.top_designtemp_wrap_gray {
  position: relative;
  /* ::before配置の基準に */
  z-index: 0;
  /* 背面に配置する場合はこれも重要 */
}

.top_designtemp_wrap_gray::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 24vw;
  background-color: #f6f6f6;
  z-index: -1;
  /* 背景として背面に配置 */
}

.slide {
  position: relative;
}

.swiper-slide::after {
  content: "";
  position: absolute;
  top: 8%;
  left: 0;
  /* 必要に応じて右端なら right: 0; に */
  /*transform: translateY(-50%);*/
  height: 70%;
  border-left: 1px solid #ccc;
  /* 縦のボーダー */
}

/*
top faq
_______________________*/

.top_faq {
  background-color: #1461af;
  color: #fff;
  text-align: center;
  padding: 130px 0 100px;
}

.top_faq h3 {
  text-align: center;
}

.top_faq h3 img {
  width: 5%;
  max-width: 43px;
  height: auto;
}

.top_faq>.container>p {
  font-size: 2.1rem;
  font-weight: 600;
  margin-bottom: 47px;
}

.qa-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* 横2カラム */
  gap: 30px 90px;
  /* 横gap 90px、縦gapなし（なりゆき） */
}

.qa-list li {
  position: relative;
}

.qa-list li a {
  display: block;
  position: relative;
  padding: 0 0;
  /* 任意の上下余白 */
  background-color: #006dd2;
  color: #fff;
  text-decoration: none;
}

.qa-list li a p {
  font-size: 2rem;
  font-weight: 600;
}

.qa-list li a::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-size: cover;
  background-repeat: no-repeat;
  /* 個別画像はliの順番で切り替える（例として6種） */
}

.qa-list li:nth-child(1) a::before {
  background-image: url("../img/page/ico_faq01.png");
}

.qa-list li:nth-child(2) a::before {
  background-image: url("../img/page/ico_faq02.png");
}

.qa-list li:nth-child(3) a::before {
  background-image: url("../img/page/ico_faq03.png");
}

.qa-list li:nth-child(4) a::before {
  background-image: url("../img/page/ico_faq04.png");
}

.qa-list li:nth-child(5) a::before {
  background-image: url("../img/page/ico_faq05.png");
}

.qa-list li:nth-child(6) a::before {
  background-image: url("../img/page/ico_faq06.png");
}


.qa-list li a::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 16px;
  background-image: url("../img/page/ico_faq_arr.png");
  /* 共通画像 */
  background-size: contain;
  background-repeat: no-repeat;
}

.qa-list li a p {
  margin: 0;
  padding: 0 45px 0 80px;
  /* 左80px（before分＋余白）、右45px（afterと同じ） */
  line-height: 1.5;
  display: flex;
  align-items: center;
  /* 縦中央寄せ */
  min-height: 60px;
  /* 任意の高さを確保すると安定 */
}

/*
top result
_______________________*/

.top_result {
  border-bottom: 1px solid #0066c5;
  padding: 0 0 100px;
}

.top_result .slide-media {
  aspect-ratio: 741 / 680;
  width: 86%;
  padding: 7%;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.top_result .slide-media {
  position: relative;
}

.top_result .slide-media h4 {
  position: relative;
  text-align: center;
  font-size: 1.6rem;
  bottom: 40px;
  margin-bottom: 5px;
}

.top_result .slide-media p {
  position: relative;
  text-align: center;
  font-size: 1.4rem;
  bottom: 45px;
}

.top_result ul li:nth-child(2) h3 {
  margin: 0 0 22px;
  padding: 0;
  text-align: center;
}

.top_result ul li:nth-child(2) h3 img {
  width: 240px;
}

.top_result ul li:nth-child(1) img {
  max-width: 76px;
}

.top_result ul li:nth-child(2) {
  text-align: left;
}

.top_result ul li:nth-child(2) p {
  text-align: left;
  padding: 0 0 20px 6%;
  line-height: 2;
}

.top_result ul li:nth-child(2) a {
  display: inline-block;
  text-align: left;
  padding: 0 0 0 6%;
}

.top_result .top_designtemp_wrap {
  background-image: url(../img/top/top_designtemp_bg2.png);
  background-position: right bottom -3px;
}

.top_result .top_designtemp_wrap ul {
  bottom: -73px;
}

/*
top cost
________________________*/
.top_cost {
  border-bottom: 1px solid #0066c5;
  padding: 50px 0 100px;
}

.top_cost h3 {
  margin: 0 0 22px;
  padding: 0;
  text-align: center;
}

.top_cost h3 img {
  width: 55px;
}

.top_cost ul {
  list-style-type: none;
  margin: 0 5%;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 40px;
}

/*
top custom
________________________*/

.top_custom {
  padding: 0 0 100px;
}

.top_custom .top_designtemp_wrap {
  padding: 0 0 0;
}

.top_custom ul li:nth-child(2) h3 {
  margin: 0 0 0;
  padding: 0;
  text-align: center;
}

.top_custom ul li:nth-child(2) h3 img {
  width: 448px;
}

.top_custom ul li:nth-child(3) {
  position: relative;
}

.top_custom .top_designtemp_wrap ul {
  height: 296px;
}

/*
top manga
________________________*/

.top_manga {
  padding: 0 0 100px;
}

.top_manga .tC img {
  max-width: 600px;
  height: auto;
  margin-bottom: 10px;
}

.top_manga_btn {
  text-decoration: none;
  font-size: 1.5rem;
  padding: 0 20px 0 0;
  background-image: url(../img/top/ico_btn_arr.png);
  background-repeat: no-repeat;
  background-size: 6px 10px;
  background-position: right center;
}

#openModal {
  cursor: pointer;
}

.top_manga_modal {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_manga_modal li {
  display: grid;
  place-content: center;
  width: 33.333333%;
  min-width: 400px;
}

.top_manga_modal::after {
  display: block;
  content: "";
  width: 33.333333%;
  min-width: 400px;
}

.top_manga_modal.showmodal li {
  opacity: 0;
  animation: fadeIn 1s ease forwards;
}

/* 各 li に1秒ずつディレイをつけて順番に表示 */
.top_manga_modal.showmodal li:nth-child(1) {
  animation-delay: 0s;
}

.top_manga_modal.showmodal li:nth-child(2) {
  animation-delay: 0.5s;
}

.top_manga_modal.showmodal li:nth-child(3) {
  animation-delay: 1s;
}

.top_manga_modal.showmodal li:nth-child(4) {
  animation-delay: 1.5s;
}

.top_manga_modal.showmodal li:nth-child(5) {
  animation-delay: 2s;
}

.top_manga_modal.showmodal li:nth-child(6) {
  animation-delay: 2.5s;
}

.top_manga_modal.showmodal li:nth-child(7) {
  animation-delay: 3s;
}

.top_manga_modal.showmodal li:nth-child(8) {
  animation-delay: 3.5s;
}

/* 必要に応じて追加 */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.top_manga_modal img {
  width: 100%;
  height: auto;
}

/* モーダルCSSここから */
.modalArea {
  visibility: hidden;
  /* displayではなくvisibility */
  opacity: 0;
  position: fixed;
  z-index: 10000;
  /* サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.4s;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  padding: 10px;
  background-color: #fff;
  border-radius: 20px;
}

.modalContents {
  height: 100vh;
  overflow-y: auto;
}

.closeModal {
  position: absolute;
  top: 28px;
  right: 28px;
  cursor: pointer;
  font-size: 3rem;
}

.is-show {
  /* モーダル表示用クラス */
  visibility: visible;
  opacity: 1;
}

/* モーダルCSSここまで */

/*
#breadcrumb
________________________*/
#breadcrumb {
  display: block;
  margin: 20px 0;
  text-align: left;
}

#breadcrumb ul {
  margin: 0;
  padding: 0;
}

#breadcrumb ul li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: inline;
  text-align: left;
}

#breadcrumb ul li:before {
  content: " / ";
}

#breadcrumb ul li:first-child:before {
  content: none;
}

#breadcrumb ul li,
#breadcrumb ul li a {
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 1rem;
  color: #000;
  text-decoration: none;
}

/*

text
_________*/
.tR {
  text-align: right !important;
}

.tL {
  text-align: left !important;
}

.tC {
  text-align: center !important;
}

.font70 {
  font-size: 70%;
}

.font80 {
  font-size: 80%;
}

.font130 {
  font-size: 130%;
}

.font150 {
  font-size: 150%;
}

.font170 {
  font-size: 170%;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.hero_img {
  text-align: center;
  margin-bottom: 30px;
}

.btn_r {
  border-radius: 25px;
  padding: 15px 80px;
  background-image: url(../img/common/ico_arr_wh.png);
  background-repeat: no-repeat;
  background-size: 8px 12px;
  background-position: center right 35px;
}

.btn_rev {
  border: 1px solid var(--color-primary) !important;
  color: var(--color-primary) !important;
  background-color: #fff !important;
  background-image: url(../img/common/ico_arr_blue.png);
  background-repeat: no-repeat;
  background-size: 8px 12px;
  background-position: center right 35px;
}

.btn_pink {
  border: 1px solid #fa8888 !important;
  color: #fa8888 !important;
  background-color: #fff !important;
  background-image: url(../img/common/ico_arr_pink.png);
  background-repeat: no-repeat;
  background-size: 8px 12px;
  background-position: center right 35px;
}

.btn_green {
  border: 1px solid #33aaa9 !important;
  color: #33aaa9 !important;
  background-color: #fff !important;
  background-image: url(../img/common/ico_arr_green.png);
  background-repeat: no-repeat;
  background-size: 8px 12px;
  background-position: center right 35px;
}

.btn_gray {
  border: 1px solid #666 !important;
  color: #666 !important;
  background-color: #fff !important;
  background-image: url(../img/common/ico_arr_gray.png);
  background-repeat: no-repeat;
  background-size: 8px 12px;
  background-position: center right 35px;
}

.btn_small {
  padding: 12px 40px;
  font-size: 1.4rem;
  background-position: center right 15px;
}

.tab_blank {
  display: none;
}

/*
style
_______________*/
.tx_box {
  margin: 0 20px 50px;
  content: "";
  display: block;
  clear: both;
}

.big {
  font-size: 200%;
}

.tx_red {
  color: #c60000;
}

.blue_box {
  background: #eaf5fc;
  padding: 20px;
  margin-bottom: 30px;
}

.mb0 {
  margin-bottom: 0 !important;
}

.main_contents p {
  font-size: 1.4rem;
  line-height: 1.9;
}

.main_contents h2 {
  color: var(--color-primary);
  margin: 20px 0 30px 0;
}

.main_contents h3 {
  color: var(--color-primary);
  padding: 9px 0;
  margin-top: 0;
  margin-bottom: 25px;
  position: relative;
  border-bottom: 2px solid var(--color-primary);
}

.main_contents h3 em {
  position: absolute;
  left: -2px;
  bottom: -9px;
  margin-right: 1em;
  font-style: normal;
  font-size: 5rem;
  font-family: Arial, Helvetica, sans-serif;
  color: #cabee4;
}

.main_contents h3 span {
  position: absolute;
  right: 0;
  bottom: 5px;
  color: #999999;
  font-size: 1.3rem;
}

.main_contents h4 {
  color: #fff;
  background-color: var(--color-primary);
  padding: 10px 20px;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
  border-radius: 20px;
  font-size: 1.8rem;
  font-weight: 600;
}

.main_contents h4.ver2 {
  color: var(--color-primary);
  background-color: inherit;
  padding: 10px 0;
  margin-top: 0;
}

.main_contents h5 {
  border-bottom: 1px solid #555;
  padding: 10px 0;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
}

.main_contents table {
  margin-bottom: 50px;
}

.main_contents table th {
  background: #edf7fd;
  border: 1px solid #ccc;
  text-align: center;
  padding: 15px;
}

.main_contents table th:nth-child(1),
.main_contents table th:nth-child(2) {
  width: 240px;
}

.main_contents table td {
  border: 1px solid #ccc;
  vertical-align: top;
  padding: 15px;
}

.main_contents table td.Vm {
  vertical-align: middle;
}

.main_contents table td>table,
.main_contents table td>ul {
  margin-bottom: 0;
}

.main_contents table td>ul>li {
  border-bottom: none;
}

/* Alignment */
.main_contents .alignleft {
  display: inline;
  float: left;
  margin-right: 1.625em;
}

.main_contents .alignright {
  display: inline;
  float: right;
  margin-left: 1.625em;
}

.main_contents .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.main_contents ul {
  margin-bottom: 30px;
  padding: 0;
  font-size: 1.4rem;
}

.main_contents ul li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 5px 0 5px 15px;
  border-bottom: 1px dotted #ccc;
}

.main_contents ul li::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  background-color: var(--color-primary);
  top: 11px;
  left: 0;
  border-radius: 50%;
}

.main_contents ol {
  margin-bottom: 30px;
  padding: 0 0 0 1.4em;
  font-size: 1.4rem;
}

.main_contents ol li {
  font-size: 1.4rem !important;
}

.main_contents .font1 {
  font-size: 70%;
}

.main_contents .font2 {
  font-size: 78%;
}

.main_contents .font3 {
  font-size: 92%;
}

.main_contents .font4 {
  font-size: 108%;
}

.main_contents .font5 {
  font-size: 123%;
}

.main_contents .font6 {
  font-size: 139%;
}

.main_contents .font7 {
  font-size: 185%;
}

.main_contents .font8 {
  font-size: 277%;
}

.main_contents .blue {
  color: #0683ff;
}

.main_contents .purple {
  color: #a03266;
}

.main_contents .red {
  color: #c00;
}

/*
pagination
________________*/
.pagination_box {
  padding: 30px 0;
}

.pagination_nav nav li::before {
  display: none;
}

.pagination_nav nav {
  display: flex;
  justify-content: center;
  width: 100%;
}

.pagination_nav .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

.pagination_nav .pagination li {
  margin: 0 3px;
  padding: 0 5px;
  border-bottom: none !important;
}

.pagination_nav .pagination li::before {
  display: none !important;
}

.pagination_nav .pagination li a {
  color: var(--color-gray);
  border: 1px solid var(--color-gray);
  padding: 3px 5px;
}

.pagination_nav .pagination li a:hover,
.pagination_nav .pagination li.is-active a {
  border: 1px solid var(--color-gray);
  background-color: var(--color-gray);
  color: #fff;
}

/*_______________________

.flex_box
________________________*/
.flex_box {
  display: flex;
  padding: 0;
  margin: 0 0 30px;
  justify-content: space-between;
}

.flex_box .img {
  margin: 0 20px 0 0;
}

.flex_box.rev {
  flex-direction: row-reverse;
}

.flex_box.rev .img {
  margin: 0 0 0 20px;
}

.text_box {
  width: calc(100% - 320px);
}

.img_box {
  width: 300px;
  height: auto;
  font-size: 0.72em;
  color: #333;
  align-items: center;
  justify-content: center;
}

.img_box p {
  text-align: center;
}

.img_box img {
  width: 100%;
  height: auto;
}

.flex_box.img2col {
  justify-content: center;
}

.flex_box.img2col .img_box {
  margin: 0 20px;
}

.flex_box.img250 .img_box {
  width: 250px;
}

.flex_box.img250 .text_box {
  width: calc(100% - 270px);
}

.flex_box.img350 .img_box {
  width: 350px;
}

.flex_box.img350 .text_box {
  width: calc(100% - 370px);
}

.flex_box.float_r,
.flex_box.float_l {
  display: inline-block;
}

.flex_box.float_r::after,
.flex_box.float_l::after {
  content: "";
  display: block;
  clear: both;
}

.flex_box.float_r .text_box p.text-basic,
.flex_box.float_l .text_box p.text-basic {
  display: inline !important;
}

.flex_box.float_r .img_box {
  float: right;
  margin: 0 0 20px 20px;
  display: inline-block;
}

.flex_box.float_l .img_box {
  float: left;
  margin: 0 20px 20px 0;
  display: inline-block;
}

.flex_box.float_r .text_box,
.flex_box.float_l .text_box {
  margin: 0 0 20px 20px;
  display: inline;
  width: inherit;
}

.flex_box.float_r .text_box .basic-txt,
.flex_box.float_l .text_box .basic-txt {
  display: inline;
}

/*
pic_flex
____________*/

.pic_flex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 50px;
}

.pic_flex .pic_img {
  width: 50%;
}

.pic_flex .pic_img img {
  width: 100%;
  height: auto;
}

.pic_flex .pic_txt {
  width: 50%;
  display: flex;
  align-items: center;
}

.pic_flex .pic_txt_area {
  width: 100%;
  padding: 10px;
  background-color: #f1f1f1;
  color: var(--color-primary);
  border-radius: 10px;
}

.pic_flex .pic_txt_area p {
  margin-bottom: 0;
}

/*
top
____________*/

.sec1 {
  background-color: #f4f3f3;
  padding: 8px 0;
}

.sec1_flex {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
}

.sec1_flex>li:nth-child(1) {
  width: 30%;
  margin-right: 1.5%;
}

.sec1_flex>li:nth-child(2) {
  width: 46%;
}

.sec1_flex>li:nth-child(2) h3 {
  font-size: 1.3rem;
}

.sec1_flex>li:nth-child(2) p {
  font-size: 1.1rem;
}

.sec1_flex>li:nth-child(2)>ul {
  list-style-type: disc;
}

.sec2 {
  position: relative;
  padding: 10px 0;
  background-color: #014099;
  height: 101px;
}

.sec2>.container>ul {
  position: relative;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.sec2>.container>ul li:nth-child(1) {
  width: 30%;
  margin-right: 4%;
}

.sec2>.container>ul li:nth-child(2) {
  width: 31.5%;
  margin-right: 6%;
}

.sec2>.container>ul li:nth-child(2) img {
  padding-top: 10px;
}

.sec2>.container>ul li:nth-child(3) {
  position: relative;
  width: 23%;
  top: -82px;
}

.sec3 {
  position: relative;
}

.sec3 .sec3_main {
  position: relative;
  top: -44px;
}

.contact_link {
  text-align: center;
}

.contact_link a {
  display: block;
}

.contact_link img {
  width: 380px;
  height: auto;
}

.sec3_hp {
  position: relative;
  left: 26vw;
  width: 152px;
}

.sec3_hp img {
  width: 152px;
  height: auto;
  vertical-align: bottom;
}

.sec4 {
  background-color: #338a5f;
}

.sec4>.container>ul {
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}

.sec4>.container>ul li:nth-child(1) {
  width: 32.5%;
  margin-right: 6%;
}

.sec4>.container>ul li:nth-child(1) img {
  padding-top: 20px;
}

.sec4>.container>ul li:nth-child(2) {
  width: 24%;
  margin-right: 4%;
}

.sec5_hp {
  text-align: left;
  display: block;
}

.sec5_hp img {
  width: auto;
  height: 73px;
  margin-top: 80px;
  vertical-align: bottom;
}

.contents ul.nmr_li {
  margin-bottom: 30px;
  padding: 0;
  font-size: 1.4rem;
}

.sec6 {
  background-color: #012c56;
  padding: 50px 0;
}

.sec6>.container>ul {
  list-style-type: none;
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.sec6>.container>ul li {
  width: 421px;
}

.contents ul.nmr_li li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0 0 2px 15px;
  font-size: 1.1rem;
}

.contents ul.nmr_li li::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  background-color: #e1e1e1;
  top: 3px;
  left: 0;
  border-radius: 50%;
}

.sec1_sp,
.sec2_sp,
.sec3_sp,
.sec4_sp,
.sec5_sp {
  display: none;
}

/*
page_header
___________*/

.page_top {
  position: relative;
  height: 19vw;
}

.header_l {
  position: absolute;
  top: -50px;
  left: 25px;
  width: 100px;
  height: 328px;
  z-index: 50;
}

.header_r {
  position: absolute;
  top: -10px;
  right: 0;
  width: 254px;
  height: 364px;
  z-index: 50;
}

.page_header {
  position: relative;
  background-color: #f6f6f6;
  color: #fff;
  height: 17vw;
  background-image: url(../img/page/pagehead_kaso_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_header img {
  width: 10vw;
  height: auto;
}

.page_head_faq::before {
  position: absolute;
  top: 3vw;
  right: 0;
  content: "";
  display: inline-block;
  width: 23.7vw;
  height: 20.5vw;
  background-image: url(../img/page/pagehead_faq.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.page_head_price::before {
  position: absolute;
  top: 3vw;
  right: 0;
  content: "";
  display: inline-block;
  width: 23.7vw;
  height: 20.5vw;
  background-image: url(../img/page/pagehead_price.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.page_head_greeting::before {
  position: absolute;
  top: 3vw;
  right: 0;
  content: "";
  display: inline-block;
  width: 23.7vw;
  height: 20.5vw;
  background-image: url(../img/page/pagehead_greeting.png);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 100;
}

/*
page_contact
_____________*/

.page_contact {
  padding: 30px 0;
  background-color: #0066c5;
}

.page_contact h3 {
  text-align: center;
  margin: 0 0 30px;
}

.page_contact h3 img {
  width: 20%;
  height: auto;
}

.page_contact ul {
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
  gap: 40px;
}

.page_contact ul li {
  width: 40%;
  height: auto;
}

.page_contact ul li a {
  display: block;
}

.page_contact ul li::before {
  display: none;
}

.page_contact ul li {
  padding: 0;
  border-bottom: none;
}

/*
page_discription
______________*/

.page_discription {
  padding: 60px 0;
}

.page_discription p {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 0;
}

/*
faq
_______________*/

.faq {
  position: relative;
  margin-bottom: 150px;
}

.faq::before {
  position: relative;
  display: inline-block;
  content: "";
  width: 100vw;
  height: 6.7vw;
  background-repeat: no-repeat;
  background-size: contain;
  top: 1.37vw;
  z-index: 10;
}

.faq.faq01::before {
  background-image: url(../img/page/faq01_bar.png);
}

.faq.faq02::before {
  background-image: url(../img/page/faq02_bar.png);
}

.faq.faq03::before {
  background-image: url(../img/page/faq03_bar.png);
}

.faq.faq04::before {
  background-image: url(../img/page/faq04_bar.png);
}

.faq.faq05::before {
  background-image: url(../img/page/faq05_bar.png);
}

.faq.faq06::before {
  background-image: url(../img/page/faq06_bar.png);
}

.faq.faq07::before {
  background-image: url(../img/page/faq07_bar.png);
}

.faq .container {
  position: relative;
  background-color: #f6f6f6;
  padding: 30px;
}

.faq02 .container::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 17.9vw;
  height: 15.4vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/page/faq02_item.png);
  top: -8vw;
  left: -4.2vw;
  z-index: 10;
}

.faq03 .container::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 17.9vw;
  height: 15.4vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/page/faq03_item.png);
  top: -8vw;
  right: -4.2vw;
  z-index: 10;
}

.faq04 .container::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 17.9vw;
  height: 15.4vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/page/faq04_item.png);
  top: -8vw;
  left: -4.2vw;
  z-index: 10;
}

.faq05 .container::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 17.9vw;
  height: 15.4vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/page/faq05_item.png);
  top: -8vw;
  right: -4.2vw;
  z-index: 10;
}


.faq_index_sec {
  padding: 100px 0;
}

.faqIndex ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}

.faqIndex ul li {
  padding: 0 20px;
  margin: 0 20px;
}


.faqIndex ul li a {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.faqIndex ul li a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}


.faq .container h3 {
  text-align: center;
  margin: 20px 0 40px;
  font-size: 2.6rem;
  font-weight: 600;
  text-align: center;
  color: #6e6e6e;
  letter-spacing: 3px;
}

.faq .container h3 span {
  font-size: 2.1rem;
}

.faq .container h3 em.blue {
  color: #0066c5;
}

.faq .container h3 em.green {
  color: #328a5f;
}


.faq .container h3 img {
  width: 55%;
  height: auto;
}

.faq article {
  background-color: #fff;
  padding: 40px 0;
}

.Qa-Box {
  width: 80%;
  margin: 0 auto;
}

.Qa-Box .Qa dt,
.Qa-Box .Qa dd {
  display: flex;
  align-items: baseline;
  margin: 30px 0;
}

.Qa-Box .Qa dt p {
  margin: 0;
  padding-left: 15px;
  font-weight: normal;
  width: 100%;
}

.Qa-Box .Qa dd p {
  margin: 0;
  padding-left: 15px;
  width: 100%;
}

.Qa-Box .Qa dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0066c5;
  color: #fff;
  width: 35px;
  height: 35px;
}

.Qa-Box .Qa dd::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  background: #328a5f;
  color: #fff;
  width: 35px;
  height: 35px;
}

/*
_____________________*/


.page_header h2 span {
  display: block;
  font-size: 1rem;
  margin-bottom: 10px;
}

.page_header_tit,
#breadcrumb .container {
  width: 78%;
}

.page_head_mv {
  position: relative;
  top: -90px;
}

.manga .container {
  max-width: 800px;
  height: auto;
  margin: 50px auto;
}

.sec_page_discription {
  position: relative;
}

.sec_page_discription .container {
  width: 78%;
}

.outside_right {
  position: relative;
  margin-right: calc(50% - 50vw);
}

.outside_right span {
  position: absolute;
  border-bottom: 1px solid #328a5f;
  bottom: 10px;
  left: 0;
  width: 100%;
  z-index: 1;
}

.contents {
  overflow: hidden;
}

.sec_page_disc_flex {
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.sec_page_disc_flex>li:nth-child(1) {
  position: relative;
  width: 230px;
}

.sec_page_disc_flex>li:nth-child(1) img {
  position: absolute;
  width: 195px;
  height: auto;
  top: 18px;
  left: -66px;
  z-index: 50;
}

.sec_page_disc_flex>li:nth-child(2) {}

.sec_page_disc_flex>li:nth-child(2)>img {
  width: 185px;
  height: auto;
  display: block;
  margin-bottom: 16px;
}

.sec_page_disc_flex>li:nth-child(2)>p {
  margin-bottom: 35px;
}


/*
price
____________*/

#price .page_discription h3 {
  text-align: center;
}

#price .page_discription h3 img {
  width: 20%;
  height: auto;
  margin-bottom: 10px;
}

.price_tbl {
  padding: 50px 0;
}

.price_tbl>.container {
  width: 78%;
}

.price_tbl_tit {
  background-image: url(../img/page/tit2_txt_price.png);
  background-repeat: no-repeat;
  background-size: 221px 84px;
  background-position: left center;
  padding: 23px 0 0 242px;
  min-height: 84px;
}

.price_tbl_tit p {
  font-weight: 600;
  font-size: 1.5rem;
}

.price_tbl_main {
  border: 1px solid #04048c;
}

.price_tbl_main thead th:nth-child(1) {
  background-color: #8b8b8b;
  color: #fff;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main thead th:nth-child(2) {
  background-color: #44a96d;
  color: #fff;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main thead th:nth-child(3) {
  background-color: #1768d6;
  color: #fff;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main thead th:nth-child(4) {
  background-color: #ba9a32;
  color: #fff;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}





.price_tbl_main tbody th {
  background-color: #f8f8f8;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}


.price_tbl_main tbody td:nth-child(2) {
  background-color: #f1f9f5;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main tbody td:nth-child(3) {
  background-color: #edf9fe;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main tbody td:nth-child(4) {
  background-color: #fdf9ed;
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
}

.price_tbl_main1 {
  width: 178px;
  height: auto;
}

.price_tbl_main2 {
  width: 104px;
  height: auto;
}

.price_tbl_main3 {
  width: 32px;
  height: auto;
}

.price_tbl_main4 {
  width: 72px;
  height: auto;
}

.page_header_price {
  background-color: #328a5f;
}

.sch_tbl_tit {
  background-image: url(../img/page/tit2_txt_sch.png);
  background-repeat: no-repeat;
  background-size: 152px 83px;
  background-position: left center;
  padding: 23px 0 0 242px;
  min-height: 84px;
}


.page_head_sch::before {
  position: absolute;
  top: 3vw;
  right: 0;
  content: "";
  display: inline-block;
  width: 23.7vw;
  height: 20.5vw;
  background-image: url(../img/page/pagehead_sch.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#schedule .page_discription h3 {
  text-align: center;
}

#schedule .page_discription h3 img {
  width: 20%;
  height: auto;
  margin-bottom: 10px;
}

#option .page_top,
#sem .page_top,
#maintenance .page_top,
#domain .page_top {
  height: 10vw;
}

.serverPrice table th:nth-child(1),
.serverPrice table th:nth-child(2),
.domainPrice table th:nth-child(1),
.domainPrice table th:nth-child(2) {
  width: 50%;
}

.serverPrice big,
.domainPrice big {
  font-size: 3rem;
}

.serverPrice td,
.domainPrice td {
  vertical-align: middle !important;
}

.mainteIndex {
  width: calc(100% - 80px);
  font-size: 1.2em;
  margin: 20px 40px 20px 40px;
}

.mainteIndex th {
  width: 34%;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
}

.mainteIndex th small {
  color: #ffffff;
  font-size: 12px;
  line-height: 18px;
}

.mainteIndex td {
  width: 33%;
  padding: 20px;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}

.mainteIndex strong {
  font-size: 1.4em;
}

.mainteIndex td small {
  color: #333;
  font-size: 12px;
  line-height: 18px;
}

.mainteIndex td.bgcolor {
  background: #dceffa;
  color: #333;
}

.mainteIndex th.noplan {
  background: #ffffff !important;
  border-top: none !important;
  border-left: none !important;
}

.mainteBlue th {
  background-color: #42aeeb !important;
  border: solid 1px #244986 !important;
  color: #fff !important;
}

.mainteBlue td {
  border: solid 1px #244986 !important;
  color: #42aeeb !important;
  vertical-align: middle !important;
}

.mainteGreen th {
  background-color: var(--color-primary) !important;
  border: solid 1px var(--color-primary) !important;
  color: #fff !important;
}

.mainteGreen td {
  border: solid 1px var(--color-primary);
  color: var(--color-primary);
}

#maintenance .main_contents table th:nth-child(1) {
  width: 33% !important;
}

.ahref_block {
  display: block;
}

.option {
  margin: 20px 20px 20px 40px;
  border: solid 3px #009900;
  padding: 30px 10px 30px;
  text-align: center;
  font-weight: bold;
  line-height: 2.8rem;
  font-size: 2.2rem;
}

.option strong {
  font-size: 3.8rem;
}

.option04 {
  margin: 0 0 20px 40px;

  padding: 30px 10px 25px;
  text-align: center;
  font-weight: bold;
  line-height: 3.8rem;
  font-size: 3.2rem;
}

.option04 strong {
  font-size: 3.8rem;
}

.colorDGR {
  color: #009900;
}

#option .page_header_price {
  background-color: #009900;
}

#option .main_contents ul li::before {
  background-color: #009900;
}

#option .main_contents h4 {
  background-color: #009900;
}

.sem {
  margin: 20px 20px 20px 40px;
  border: solid 3px #1c4b7f;
  padding: 30px 10px 30px;
  text-align: center;
  font-weight: bold;
  line-height: 3.8rem;
  font-size: 2.2rem;
}

.sem strong {
  font-size: 3.8rem;
  color: #1c4b7f;
}

.design_sample {
  color: #fff;
  text-align: center;
}

.design_sample1,
.design_sample4 {
  background-color: #10253e;
  padding: 40px 0;
}

.design_sample2 {
  background-color: #3a2710;
  padding: 40px 0;
}

.design_sample>article>h3 {
  font-size: 2rem;
  color: #fff;
  margin-bottom: 10px;
  position: relative;
  border-bottom: none;
}

.design_sample>article>h3 span {
  font-size: 2.5rem;
  font-family: Arial, Helvetica, sans-serif;
  position: inherit;
  right: inherit;
  bottom: inherit;
  color: #fff;
}

.design_sample_tit {
  position: relative;
  display: flex;
  justify-content: flex-start;
  margin: 100px 10vw 50px;
  padding: 0;
  list-style-type: none;
}

.design_sample_tit li {
  padding: 0 !important;
  border-bottom: none !important;
}

.design_sample_tit li::before {
  display: none !important;
}

.design_sample_tit li:nth-child(1) {
  width: 16.8%;
  margin-right: 5.6%;
}

.design_sample_tit li:nth-child(1) img {
  width: 100%;
  aspect-ratio: 352 / 202;
}

.design_sample_tit li:nth-child(2) {
  width: 63.7%;
}

.design_sample_tit li:nth-child(2) img {
  display: block;
  width: auto;
  height: 40px;
  margin-bottom: 10px;
}

.design_sample_tit li:nth-child(3) {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 13.9%;
}

.design_sample_tit li:nth-child(3) img {
  position: relative;
  width: 100%;
  bottom: -30px;
  aspect-ratio: 265 / 75;
}

#maintenance .main_contents,
#domain .main_contents {
  margin-bottom: 100px;
}


.greeing_wrap {
  display: grid;
  grid-template-columns: 190px auto;
  column-gap: 70px;
  margin: 150px 0;
  padding: 0;
  list-style-type: none;
}

.greeing_wrap li::before {
  display: none !important;
}

.greeing_wrap p {
  font-size: 1.6rem;
}

.greeting_ill1 {
  position: relative;
  top: -40px;
}

.greeting_ill3 {
  position: relative;
  top: -40px;
}

.greeting_name {
  float: right;
  display: inline-block;
}

.greeting_name span {
  font-size: 2rem;
}

/*_______________________

.flex_box
________________________*/
.flex_box {
  display: flex;
  padding: 0;
  margin: 0 0 30px;
  justify-content: space-between;
}

.flex_box .img {
  margin: 0 20px 0 0;
}

.flex_box.rev {
  flex-direction: row-reverse;
}

.flex_box.rev .img {
  margin: 0 0 0 20px;
}

.text_box {
  width: calc(100% - 320px);
}

.img_box {
  width: 300px;
  height: auto;
  font-size: 0.72em;
  color: #333;
  align-items: center;
  justify-content: center;
  position: relative;
}

.img_box p {
  text-align: center;
}

.img_box img {
  width: 100%;
  height: auto;
}

.flex_box.img2col {
  justify-content: center;
}

.flex_box.img2col .img_box {
  margin: 0 20px;
}

.flex_box.img170 .img_box {
  width: 170px;
}

.flex_box.img170 .text_box {
  width: calc(100% - 190px);
}

.flex_box.img200 .img_box {
  width: 200px;
}

.flex_box.img200 .text_box {
  width: calc(100% - 220px);
}


.flex_box.img250 .img_box {
  width: 250px;
}

.flex_box.img250 .text_box {
  width: calc(100% - 270px);
}

.flex_box.img350 .img_box {
  width: 350px;
}

.flex_box.img350 .text_box {
  width: calc(100% - 370px);
}

.flex_box.float_r,
.flex_box.float_l {
  display: inline-block;
}

.flex_box.float_r::after,
.flex_box.float_l::after {
  content: "";
  display: block;
  clear: both;
}

.flex_box.float_r .text_box p.text-basic,
.flex_box.float_l .text_box p.text-basic {
  display: inline !important;
}

.flex_box.float_r .img_box {
  float: right;
  margin: 0 0 20px 20px;
  display: inline-block;
}

.flex_box.float_l .img_box {
  float: left;
  margin: 0 20px 20px 0;
  display: inline-block;
}

.flex_box.float_r .text_box,
.flex_box.float_l .text_box {
  margin: 0 0 20px 20px;
  display: inline;
  width: inherit;
}

.flex_box.float_r .text_box .basic-txt,
.flex_box.float_l .text_box .basic-txt {
  display: inline;
}

.top_ec_copy img {
  width: 500px;
  height: auto;
  margin: 0 0 25px;
}

.top_ec_sec {
  background-color: #242b3b;
  background-image: url(../img/top/top_ec_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
  height: 300px;
  padding: 25px 0;
  margin: 0 0 200px;
}

.top_ec_sec>.container {
  position: relative;
  height: 295px;
}

.top_ec_sec img {
  width: 375px;
  height: auto;
}

.top_ec_sec p {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.8;
}

.top_ec_sec a {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0 auto;
  display: inline-block;
  background-color: #ff7e00;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 30px;
  width: 365px;
  text-align: center;
  font-size: 1.6rem;
  padding: 12px 0;
  text-decoration: none;

}