@charset "UTF-8";
/* =======================================
共通設定
======================================= */
html {
  font-size: 2.625vw;
}

body {
  width: 100%;
  height: auto;
  background: #fff;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #231815;
}

a:link, a:visited, a:active, a:hover {
  text-decoration: none;
  color: inherit;
}

img {
  height: auto;
}

#container {
  width: 100%;
}

.pc, .none_sp, .none_SP {
  display: none !important;
}

input[type="button"], input[type="submit"] {
  -webkit-appearance: none;
}

/* 基本ボックス設定 */
.wrap_out, .wrap_main {
  width: 100%;
  height: auto;
}

.wrap_in {
  width: 89.4%;
  height: auto;
  margin: 0 auto;
}

/* 横並びリスト */
ul.many_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.many_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.two_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.two_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.two_rows > li:nth-child(2n+2) {
  float: right;
}
ul.three_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.three_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.three_rows > li:nth-child(3n+2) {
  margin-right: 0;
}
ul.three_rows > li:nth-child(3n+3) {
  float: right;
  margin-right: 0;
}

/* 2カラム横並びリスト */
/* 3カラム横並びリスト */
/*テーブルブロック*/
.table_block {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.table_block > .cell_block {
  display: table-cell;
  width: 50%;
  text-align: center;
  vertical-align: middle;
}
.table_block.sp_tate {
  display: block;
  table-layout: auto;
}
.table_block.sp_tate > .cell_block {
  display: block;
  width: 100%;
}

/* スクローラー */
#scroller {
  position: fixed;
  bottom: 0;
  right: 0;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
  display: block;
  width: 48vw;
}

/*テキスト設定*/
.wrap_in.article {
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, .article br {
  margin-top: 0;
  padding: 0;
  text-align: left;
  border: 0;
  clear: both;
}
.article h1 {
  margin-bottom: 3vw;
  font-size: 6vw;
  line-height: 117%;
  color: #25457b;
}
.article h2 {
  margin-top: 0 !important;
  margin-bottom: 3vw !important;
  margin-left: 0;
  padding-top: 1vw;
  padding-bottom: 1vw;
  padding-left: 1.5vw;
  font-size: 5vw;
  line-height: 117%;
  border-left: 1.5vw solid #25457b;
}
.article h3 {
  font-size: 4.2vw;
  font-weight: bold;
  margin-bottom: 2vw;
}
.article h4 {
  font-size: 4.2vw;
  font-weight: bold;
  margin-bottom: 3vw;
  color: #25457b;
}
.article h5 {
  font-size: 4.2vw;
  font-weight: bold;
  color: #25457b;
  margin-bottom: 2vw;
  border-bottom: 2px solid #A6CBE0;
  position: relative;
}
.article h5::after {
  content: "";
  position: absolute;
  display: block;
  border-bottom: 2px solid #25457b;
  bottom: -2px;
  width: 20%;
}
.article h6 {
  font-size: 2.8vw;
  font-weight: normal;
  margin-bottom: 0;
}
.article p {
  font-size: 3.6vw;
  line-height: 1.6;
  margin-bottom: 10px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.article pre {
  background-color: #eee;
  border: 1px solid #ccc;
  padding: 0.7em;
  overflow: auto;
}
.article .alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}
.article .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.article .alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}
.article blockquote, .article q {
  quotes: "" "";
}
.article blockquote:before, .article blockquote:after, .article q:before, .article q:after {
  content: "";
}
.article blockquote {
  background: none repeat scroll 0 0 rgba(245, 245, 245, 0.8);
  border: 1px solid #FFFFFF;
  margin: 1em 0;
  padding: 20px 55px;
  position: relative;
}
.article blockquote p {
  margin-bottom: 0;
}
.article blockquote::before {
  color: #c8c8c8;
  content: "“";
  font-family: serif;
  font-size: 600%;
  left: 0px;
  line-height: 1em;
  position: absolute;
  top: 0px;
}
.article blockquote::after {
  color: #c8c8c8;
  content: "”";
  font-family: serif;
  font-size: 600%;
  line-height: 0;
  position: absolute;
  right: 0px;
  bottom: -16px;
}
.article ul {
  list-style: disc;
  margin: 1.5em 0;
  padding-left: 1em;
}
.article ul li + li {
  margin-top: 0.4em;
}
.article ol {
  list-style: decimal;
  margin: 1.5em 0;
  padding-left: 1em;
}
.article ol li + li {
  margin-top: 0.4em;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* SLIDER
------------------------------- */
#slider .slider_in {
  width: 100vw;
}

/* HEADER
------------------------------- */
header#top {
  height: 16.8vw;
  z-index: 2000;
}

#header {
  border-bottom: 0.8vw solid #ccc;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  background-color: #fff;
}

.header_in {
  height: 16vw;
  position: relative;
  width: 92%;
}
.header_in .header_logo {
  position: absolute;
  top: 50%;
  font-kerning: 4vw;
  display: block;
  width: auto;
  height: 5.3vw;
  margin-top: -2.65vw;
}
.header_in .header_logo img {
  display: block;
  width: auto;
  height: 100%;
}

/*ｇ-nav*/
.nav_wrap {
  position: fixed;
  top: 16.8vw;
  right: 0;
  z-index: 2001;
}

#g_nav {
  padding: 0 4.8vw;
  background-color: #f5f5f5;
  width: 86vw;
  max-height: -webkit- calc(100vh - 16.8vw);
  max-height: calc(100vh - 16.8vw);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: none;
}
#g_nav .cell_block {
  padding: 1.5rem 0;
}
#g_nav .cell_block.cellA, #g_nav .cell_block.cellB, #g_nav .cell_block.cellC, #g_nav .cell_block.cellD {
  padding-left: 3rem;
  padding-right: 3rem;
}
#g_nav .cell_block.cellF {
  font-weight: bold;
  padding-bottom: 3rem;
}

#over_ray {
  position: fixed;
  top: 16.8vw;
  right: 0;
  width: 100%;
  height: -webkit-calc(100vh - 16.8vw);
  height: calc(100vh - 16.8vw);
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
  display: none;
}

/*メニューボタン*/
#menu_btn {
  position: fixed;
  top: 4.5vw;
  right: 4vw;
  width: 9vw;
  height: 7vw;
  background-color: transparent;
  z-index: 1010;
  border-bottom: 1.3vw solid #25457b;
  border-top: 1.3vw solid #25457b;
}
#menu_btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.3vw;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.65vw;
  background-color: #25457b;
}
#menu_btn.open {
  position: fixed;
  background-color: transparent;
  border-bottom: 1.3vw solid #25457b;
  border-top: 1.3vw solid #25457b;
}
#menu_btn.open::before {
  background-color: #25457b;
}

/* FOOTER
------------------------------- */
#footer {
  background-color: #f5f5f5;
}

.footer_wrap .wrap_in {
  padding: 13.3vw 0;
}

.tbb_ft .cell_block {
  width: auto;
  height: 70vw;
  text-align: left;
}
.tbb_ft .cellA {
  background-color: #fff;
  border: 1px solid #ccc;
  border-bottom: 0;
}
.tbb_ft .cellC {
  padding: 8vw;
  background-color: #fff;
  border: 1px solid #ccc;
  vertical-align: top;
  text-align: center;
}

.foot_logo {
  display: block;
  margin: 0 auto;
}

.ftp1 {
  text-align: center;
  font-size: 5.3vw;
}

.ftp2 {
  display: inline-block;
  text-align: left;
  padding: 2vw 0 1vw;
}

.foot_nav {
  display: block;
}
.foot_nav li {
  display: table;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.foot_nav li:first-child {
  border-top: 1px solid #ccc;
}
.foot_nav a {
  display: table-cell;
  height: 10.6vw;
  background: url("../img/parts/arrow_02.png") right 5vw center no-repeat #fff;
  -webkit-background-size: 1.6vw auto;
  background-size: 1.6vw auto;
  padding: 2vw 8vw;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
}
.foot_nav li:last-child {
  margin-bottom: 0;
}

.copy_wrap {
  background-color: #ccc;
  color: #fff;
}

.tbb_copy {
  margin: 0 auto;
}
.tbb_copy .cell_block {
  height: 8vw;
}
.tbb_copy .cellA {
  text-align: center;
  font-size: 2.6vw;
  line-height: 8vw;
}

/* HOME
------------------------------- */
/*NEWS LIST*/
.tbb_list {
  border-bottom: 1px dashed #ccc;
}
.tbb_list .cell_block {
  vertical-align: top;
  text-align: left;
  width: auto;
}
.tbb_list .cellA {
  padding-top: 5vw;
}
.tbb_list .cellB {
  padding-top: 3vw;
  padding-bottom: 4vw;
}

.list_p {
  margin-bottom: 0 !important;
  line-height: 1.8;
}

/* ----------------------------------------

子どもデザイン専科

---------------------------------------- */
/* header
------------------------------- */
#header {
  border-bottom: 0;
  height: 16.8vw;
  -webkit-box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
}

.header_logo {
  width: auto;
  padding-top: 2.4vw;
}
.header_logo img {
  display: block;
  width: auto;
  height: 12vw;
}

.fx_nav_link {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
  padding-left: 1rem;
}
.fx_nav_link > .flex_block_child {
  display: block;
}
.fx_nav_link > .blockA {
  width: 5.3rem;
}
.fx_nav_link > .blockA img {
  display: block;
  width: 100%;
  height: auto;
}
.fx_nav_link > .blockB {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  width: -webkit-calc(100% - 5.3rem);
  width: calc(100% - 5.3rem);
  padding-left: 1rem;
  text-align: left;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
}

.header_inB {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  height: 8.7rem;
}

.fx_nav_linkB {
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
  width: 13rem !important;
  height: 8.7rem !important;
  position: relative;
}
.fx_nav_linkB + .fx_nav_linkB {
  margin-left: 1.5rem;
}
.fx_nav_linkB::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.5);
  border-radius: 45px;
  background-color: inherit;
  background: #ccc;
}
.fx_nav_linkB.ico_tel::before {
  background-color: #f8a72d;
}
.fx_nav_linkB.ico_mail::before {
  background-color: #036eb8;
}
.fx_nav_linkB.ico_line::before {
  background-color: #38D430;
}
.fx_nav_linkB > .flex_block_child {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  z-index: 1;
}
.fx_nav_linkB > .flex_block_child img {
  display: block;
  width: 2.6rem;
  height: auto;
  margin: 0 auto 0.5rem;
  line-height: 1.2;
}
.fx_nav_linkB.contact-us_link > .flex_block_child {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
}

/* footer
------------------------------- */
#footer {
  background-color: #fff;
}

.fx_foot_link {
  padding: 2.5rem 0;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
}
.fx_foot_link > .flex_block_child {
  width: 50%;
  text-align: center;
  font-size: 1.0rem;
  line-height: 1.4;
  padding: 1rem 0;
}
.fx_foot_link > .flex_block_child img {
  display: block;
  width: 14.6rem;
  margin: 0 auto 1rem;
}
.fx_foot_link > .flex_block_child span {
  display: block;
  text-align: center;
}
.fx_foot_link > .flex_block_child span.fx_foot_link_textB {
  padding-top: 0.5rem;
  font-size: 1.5rem;
  color: #008fd6;
}
.fx_foot_link > .flex_block_child span.fx_foot_link_textB small {
  font-size: 1.2rem;
}

.footer_contents {
  background-color: #008fd6;
  color: #fff;
  text-align: center;
  padding: 6rem 0 10rem;
}
.footer_contents p {
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}

.fx_foot_linkB {
  width: 90%;
  margin: 0 auto;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
}
.fx_foot_linkB > .flex_block_child {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
}
.fx_foot_linkB > .flex_block_child img {
  display: block;
  width: 100%;
}
.fx_foot_linkB > .flex_block_child.blockA {
  width: 9rem;
}
.fx_foot_linkB > .flex_block_child.blockB {
  width: -webkit-calc(100% - 9rem);
  width: calc(100% - 9rem);
  padding-left: 1.2rem;
}

.tbb_foot {
  width: 90%;
  margin: 1rem auto;
  border: 1px solid #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
.tbb_foot .cell_block {
  text-align: center;
  vertical-align: middle;
  line-height: 1.2;
  font-size: 1.2rem;
  padding: 0.5rem;
}
.tbb_foot .cell_block strong {
  font-size: 2.2em;
  font-weight: normal;
  margin-left: 0.5em;
  vertical-align: sub;
}

.fx_copy {
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  margin-top: 3rem;
}
.fx_copy > .flex_block_child {
  width: 90%;
}
.fx_copy > .flex_block_child.blockA img {
  display: block;
  width: 13rem;
  margin: 0 auto 1rem;
}
.fx_copy > .flex_block_child.blockB {
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
}

/* home
------------------------------- */
/*main slider*/
.main_vis {
  background-color: #eeeff5;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

#slider {
  width: 96vw;
  margin: 0 auto;
}
#slider .slider_in {
  width: 96vw;
}
#slider .slider_in img {
  display: block;
  width: 100%;
}
#slider .slick-dots {
  display: none !important;
}

.slick-arrow {
  width: 2.5rem;
  height: 100%;
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  z-index: 1000;
}
.slick-arrow.slick-prev {
  left: -0.7rem;
  background-image: url("../img/slider/arrowL.png");
}
.slick-arrow.slick-next {
  right: -0.7rem;
  background-image: url("../img/slider/arrowR.png");
}

/*NEWS*/
.home01 {
  background-color: #008fd6;
  padding: 1.5rem 0;
}

#news_slide {
  width: 100%;
  margin: 0 auto;
}
#news_slide .slider_in {
  width: 89.4vw;
}

.news_slide_link {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  padding-left: 0;
  background-image: url("../img/home/ico_news.png");
  background-size: 6.3rem auto;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.news_slide_link > span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.news_slide_link .post_date {
  width: 100%;
  padding-left: 7rem;
  font-size: 1.5rem;
  line-height: 1.2;
}
.news_slide_link .news_post_ttl {
  width: 100%;
  background-image: url("../img/home/arrow_01.png");
  background-size: 2rem auto;
  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 2.5rem;
  margin-top: 0.5rem;
}

/*バナー部分*/
.home_sec {
  background-image: url("../img/home/bg_dot.png");
  background-size: 3.2rem auto;
}

.home_sec_wrap {
  background-color: #ccc;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto;
  -moz-border-radius: 1.5rem;
  -webkit-border-radius: 1.5rem;
  border-radius: 1.5rem;
}
.home_sec_wrap .wrap_in {
  width: 96%;
}

.home_sec_ttl {
  padding: 3rem 0;
  position: relative;
}
.home_sec_ttl h2 {
  font-size: 2.0rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}
.home_sec_ttl p {
  font-size: 1.2rem;
  text-align: left;
  padding-right: 8.7rem;
}
.staff_wrap .home_sec_ttl p {
  padding-right: 0;
  text-align: center;
}

.home_sec_ttl_imgA {
  display: block;
  width: 40rem;
  margin: 0 auto 2.5rem;
}

.home_sec_ttl_imgB {
  display: block;
  width: 9rem;
  position: absolute;
  bottom: 0;
}

.fx_home_bnr {
  width: 100%;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  padding: 1.5rem 0;
}
.fx_home_bnr > .blockA {
  width: 100%;
}
.fx_home_bnr > .blockA img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.fx_home_bnr > .blockB {
  width: 100%;
}
.fx_home_bnr > .blockB img {
  display: block;
  width: 100%;
}
.fx_home_bnr > .blockC {
  width: 50%;
}
.fx_home_bnr > .blockC img {
  display: block;
  width: 100%;
}

.home02 .home_sec_ttl_imgB {
  right: -2rem;
}
.home02 .home_sec_wrap {
  background-color: #FFDE00;
}

.home03 .home_sec_ttl_imgB {
  right: -2rem;
}
.home03 .home_sec_wrap {
  background-color: #FBA6D0;
}

.home04 .home_sec_ttl_imgB {
  right: -2rem;
}
.home04 .home_sec_wrap {
  background-color: #8F7EB9;
}

.home05 .home_sec_ttl_imgB {
  right: -2rem;
}
.home05 .home_sec_wrap {
  background-color: #A7CC32;
}

.home06 .home_sec_ttl_imgB {
  right: -2rem;
}
.home06 .home_sec_wrap {
  background-color: #8FC4FF;
}
/*日本全国対応*/
.nationwide_support {
  padding: 3rem 0;
}

.tbb_nationwide_support .cellA {
  text-align: left;
  vertical-align: top;
  padding-bottom: 3rem;
}
.tbb_nationwide_support .cellA h2 {
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  color: #00a0e9;
  margin-bottom: 1rem;
}
.tbb_nationwide_support .cellA p {
  text-align: center;
}
.tbb_nationwide_support .cellB {
  width: auto;
  position: relative;
}
.tbb_nationwide_support .cellB .home_map_img {
  display: block;
  width: 71.25rem;
  margin: 0 auto 0 0;
}
.tbb_nationwide_support .cellB .company_count {
  font-size: 2.9rem;
  font-weight: bold;
  color: #00a0e9;
  line-height: 1.2;
  position: absolute;
  top: 5.7rem;
  left: 7.4rem;
  z-index: 1;
}

/*スタッフ紹介*/
.home05 {
  padding-bottom: 4rem;
}

.staff_wrap {
  background-color: #008fd6 !important;
  background-image: url("../img/home/staff_bg.jpg");
  background-size: 482% auto;
  background-position: -59vw bottom;
  background-repeat: no-repeat;
}
.staff_wrap .home_sec_ttl {
  color: #fff;
  padding-bottom: 4rem;
}
.staff_wrap .home_sec_ttl h2 {
  margin-bottom: 1rem;
}

.fx_staff {
  padding: 3rem 0 3rem;
}
.fx_staff > .flex_block_child {
  width: 25%;
  text-align: center;
  font-weight: bold;
  color: #fff;
  padding: 0 0.5rem 1rem;
  font-size: 1rem;
}
.fx_staff > .flex_block_child img {
  display: block;
  width: 10rem;
  margin: 0	auto 0.5rem;
}

.tbb_staffA > .cell_block {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.tbb_staffA > .cellA {
  width: 42rem;
  text-align: center;
  text-align: left;
  color: #fff;
  padding-bottom: 0;
}
.tbb_staffA > .cellA h3 {
  font-size: 2.2rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 1rem;
}
.tbb_staffA > .cellA p {
  text-align: center;
}
.tbb_staffA > .cellB {
  width: auto;
}
.tbb_staffA > .cellB img {
  display: block;
  width: 94%;
  margin: 0 auto;
}

.fx_torihikisaki {
  border: 1.4rem solid rgba(255, 255, 255, 0.8);
  overflow: hidden;
  -moz-border-radius: 2rem;
  -webkit-border-radius: 2rem;
  border-radius: 2rem;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
}
.fx_torihikisaki > .flex_block_child.blockA {
  width: 100%;
  background-color: #55b605;
  text-align: center;
  font-size: 1.9rem;
  color: #fff;
  line-height: 1.2;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.fx_torihikisaki > .flex_block_child.blockA small {
  font-size: 1.3rem;
}
.fx_torihikisaki > .flex_block_child.blockB {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 1rem 1rem 0;
}
.fx_torihikisaki > .flex_block_child.blockB > .flex_block_child_in {
  width: 100%;
  display: block;
  padding: 0.5rem 0 0 0;
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #231815;
}

/*ランキング*/
.ranking_in {
  width: 25.2rem;
  width: -webkit-calc((89.4vw - 6px) / 3);
  width: calc((89.4vw - 6px) / 3);
  position: relative;
  border-left: 2px solid #f8b62d;
}
.ranking_in .rank_count {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: 0.5rem;
  text-align: center;
  line-height: 2.5rem;
  font-size: 1.5rem;
  color: #fff;
  font-weight: bold;
  -moz-border-radius: 5rem;
  -webkit-border-radius: 5rem;
  border-radius: 5rem;
  background-color: #ea5514;
}
.ranking_in a {
  display: block;
  width: -webkit-calc(((89.4vw - 6px) / 3) - 1rem);
  width: calc(((89.4vw - 6px) / 3) - 1rem);
  height: -webkit-calc(((89.4vw - 6px) / 3) - 1rem);
  height: calc(((89.4vw - 6px) / 3) - 1rem);
  margin-top: 1rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.ranking_in a img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
}
.ranking_in a::before {
  content: "";
  display: block;
  width: -webkit-calc(((89.4vw - 6px) / 3) - 4rem);
  width: calc(((89.4vw - 6px) / 3) - 4rem);
  height: 100%;
  background-color: #f7f7f7;
}
.ranking_in a::after {
  content: "";
  display: block;
  width: 100%;
  height: -webkit-calc(((89.4vw - 6px) / 3) - 4rem);
  height: calc(((89.4vw - 6px) / 3) - 4rem);
  background-color: #f7f7f7;
}
.ranking_in a::before, .ranking_in a::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 0;
}

.post_views_wrap {
  margin-top: -2rem;
  padding: 2.5rem 0;
  background-color: #fff;
  border: 3px dashed #f8b62d;
  -moz-border-radius: 2rem;
  -webkit-border-radius: 2rem;
  border-radius: 2rem;
}

#ranking {
  width: 100%;
  width: -webkit-calc(89.4vw - 6px);
  width: calc(89.4vw - 6px);
}
#ranking .ranking_in[aria-hidden="true"] + .ranking_in[aria-hidden="false"] {
  border-left: 0;
}
#ranking .slick-arrow {
  width: 2.5rem;
}
#ranking .slick-arrow.slick-next {
  right: -2rem;
  background-image: url("../img/slider/rank_arrowR.png");
}
#ranking .slick-arrow.slick-prev {
  left: -2rem;
  background-image: url("../img/slider/rank_arrowL.png");
}

/* 下層ページ設定
------------------------------- */
body:not(#home) .nationwide_support {
  display: none;
}
body:not(#home) .staff_wrap {
  background-size: cover;
  margin-top: 15vw;
}
body:not(#home) .staff_wrap .home_sec_ttl_imgA, body:not(#home) .staff_wrap h2, body:not(#home) .staff_wrap .home_sec_ttl > p, body:not(#home) .staff_wrap .fx_staff {
  display: none;
}

/* concept
------------------------------- */
.smooth_slider .slider_in, .smooth_slider_rev .slider_in {
  width: auto;
  height: 20rem;
}
.smooth_slider .slider_in img, .smooth_slider_rev .slider_in img {
  display: block;
  width: auto;
  height: 100%;
}

.smooth_slider_wrap {
  padding: 2rem 0 2rem;
  background-color: #eeeff5;
}

.smooth_slider_wrap_ttl {
  margin-top: 11rem;
  padding-top: 4rem;
  position: relative;
  z-index: 1;
}
.smooth_slider_wrap_ttl img {
  display: block;
  position: absolute;
  bottom: 0;
}

.concept_slide_ttl_01 {
  width: 11.5rem;
  left: 3.1rem;
  bottom: 8rem !important;
}

.concept_slide_ttl_02 {
  width: 28rem;
  right: 2.8rem;
}

.large_ttl_wrap {
  padding: 15vw 0;
}
.large_ttl_wrap .large_ttl_img {
  display: block;
  margin: 0 auto;
}

.concept_main_ttl {
  width: 80vw;
}

/*サービス案内*/
.concept_01 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 8vw;
}
.concept_01 .home_sec_ttl {
  padding-top: 5vw;
  padding-bottom: 0;
}

.bg_triangle {
  background-image: url("../img/concept/bg_a1.png"), url("../img/concept/bg_a2.png");
  background-size: 36vw auto;
  background-position: right 2vw top 0, left 2vw bottom 0;
  background-repeat: no-repeat;
}

.fx_conceptA {
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  width: -webkit-calc(100% + 3vw);
  width: calc(100% + 3vw);
  margin-left: -1.5vw;
  margin-right: -1.5vw;
}
.fx_conceptA > .flex_block_child {
  width: 33.3333333333%;
  padding: 1.5vw;
}
.fx_conceptA > .flex_block_child a {
  display: block;
  background-color: #fff;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
.fx_conceptA > .flex_block_child img {
  display: block;
  width: 100%;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

/*選ばれる理由*/
.concept_02 {
  margin-top: 15vw;
  overflow: hidden;
}
.concept_02 .home_sec_ttl {
  padding-bottom: 0;
}

.fx_conceptB {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
}
.fx_conceptB > .flex_block_child {
  width: 100%;
  padding: 3vw 0;
}

.blk_out_wrap {
  display: block;
}
.blk_out_wrap .img_wrap {
  position: relative;
  overflow: hidden;
}
.blk_out_wrap .img_wrap .imgA {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6rem;
  z-index: 2;
}
.blk_out_wrap .img_wrap .imgB {
  display: block;
  width: 100%;
  position: relative;
  z-index: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.blk_out_wrap .img_wrap .blk_out {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  display: none;
}
.blk_out_wrap h3 {
  display: block;
  margin: -4.5rem auto 0;
  width: 24rem;
  padding: 1rem;
  font-size: 2.7rem;
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #fff;
  position: relative;
  z-index: 1;
  transform: rotate(0.028deg);
  -o-transform: rotate(0.028deg);
  -ms-transform: rotate(0.028deg);
  -moz-transform: rotate(0.028deg);
  -webkit-transform: rotate(0.028deg);
}
.blk_out_wrap p {
  text-align: center;
  padding: 0 1em 1em;
  font-size: 1.2rem;
  line-height: 2;
}

.blk_out {
  display: block;
  background-color: rgba(0, 0, 0, 0.4);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}

.bg_bound_square {
  position: relative;
}
.bg_bound_square::before {
  content: "";
  display: block;
  width: -webkit-calc(100vw - ((100vw - 1.5vw) / 2));
  width: calc(100vw - ((100vw - 89.4vw) / 2));
  height: 40vw;
  background-color: #edeef3;
  -moz-border-radius-topleft: 20vw;
  -moz-border-radius-bottomleft: 20vw;
  -webkit-border-top-left-radius: 20vw;
  -webkit-border-bottom-left-radius: 20vw;
  border-top-left-radius: 20vw;
  border-bottom-left-radius: 20vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.concept_03 {
  overflow: hidden;
}
.concept_03 .home_sec_ttl {
  padding-bottom: 0;
}
.concept_03 .fx_home_bnr {
  width: 100%;
}
.concept_03 .fx_home_bnr > .flex_block_child {
  padding: 3vw 0;
}

/* 制作料金
------------------------------- */
.page_main_ttl {
  width: 100%;
  height: 50vw;
  background-image: url("../img/parts/page_main_vis_bgA.png"), url("../img/parts/page_main_vis_bgB.jpg");
  background-size: auto 80%,100% 100%;
  background-position: 0 center,0 0;
  background-repeat: no-repeat;
  position: relative;
}
.page_main_ttl.contact_ttl{
  height: 25vw;
}
.page_main_ttl .wrap_in {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}
.page_main_ttl .wrap_in p {
  margin-top: 0rem;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #fff;
}
.page_main_ttl .wrap_in p span {
  color: #fff100;
}

.page_main_ttl_h1 {
  display: block;
  width: 100%;
  height: 9rem;
  padding-top: 4.5rem;
  font-size: 2.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: bold;
  color: #fff100;
  text-align: center;
  background-position: center center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}
.page_main_ttl_h1 span:nth-child(2n) {
  color: #FFFFFF;
}

.price_01, .price_03, .price_04_last {
  padding: 2rem 0;
  background-image: url("../img/price/bg_1.png");
  background-repeat: repeat;
  background-size: 1.41rem auto;
  background-color: #fff;
  text-align: center;
}
.price_01 .parts_card, .price_03 .parts_card, .price_04_last .parts_card {
  margin-bottom: 2rem;
}

.parts_card {
  width: 29rem;
  display: block;
  margin: 0 auto;
}

.ttl_deco_h2 {
  display: inline-block;
  padding-left: 1em;
  padding-right: 1em;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
}
.ttl_deco_h2 strong {
  font-size: 1.2em;
}
.ttl_deco_h2.ttl_deco_red {
  padding-top: 1rem;
}
.ttl_deco_h2.ttl_deco_red::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4.378378378rem;
  background-image: url("../img/parts/ttl_deco_red_L.png");
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  position: absolute;
  top: 2rem;
  left: -1.9rem;
}
.ttl_deco_h2.ttl_deco_red::after {
  content: "";
  display: block;
  width: 4rem;
  height: 4.378378378rem;
  background-image: url("../img/parts/ttl_deco_red_R.png");
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  position: absolute;
  top: 2rem;
  right: -1.9rem;
}
.ttl_deco_h2.ttl_deco_red strong {
  color: #d62a54;
}

.anchor_btn {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 10vw;
  min-width: 28vw;
  border: 2px solid #fff;
  -moz-border-radius: 2rem;
  -webkit-border-radius: 2rem;
  border-radius: 2rem;
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  color: #fff !important;
  padding: 0.7rem 1rem;
  line-height: 1.4;
  background-image: url("../img/parts/arrow_anc.png");
  background-size: 0.6rem auto;
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-color: #ccc;
  margin: 0.2rem;
}
.anchor_btn span {
  display: block;
}
.anchor_btn.bg__red {
  background-color: #d62a54 !important;
}
.anchor_btn.bg__or {
  background-color: #f08300 !important;
}

.img_web_orikomi_wh {
  display: block;
  width: 7.7rem;
}

.fx_anchor {
  justify-content: flex-start;
}

.price_02, .price_04 {
  padding: 7rem 0;
  background-image: url("../img/price/bg_4.png");
  background-size: 3rem auto;
  background-repeat: repeat;
  background-color: #fff;
}

.price_04 {
  padding-top: 1rem;
  padding-bottom: 6rem;
}

.fx_point {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  justify-content: space-between;
}
.fx_point > .flex_block_child {
  width: 47%;
  padding: 0.5em;
  border: 0.3rem solid #d1d1d2;
  background-color: #fff;
  -moz-box-shadow: 1rem 1rem 0 #d1d1d2;
  -webkit-box-shadow: 1rem 1rem 0 #d1d1d2;
  box-shadow: 1rem 1rem 0 #d1d1d2;
  margin-bottom: 3rem;
}
.fx_point > .flex_block_child:nth-child(2), .fx_point > .flex_block_child:nth-child(4) {
  margin-top: 3rem;
  margin-bottom: 0;
}
.fx_point > .flex_block_child .price_point {
  display: block;
  width: 11.2rem;
  position: relative;
  margin-top: -4rem;
  margin-bottom: 1rem;
}
.fx_point > .flex_block_child h3 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.fx_point > .flex_block_child p {
  font-size: 1rem;
  line-height: 1.4;
}

.price_02_01 {
  position: relative;
  padding-bottom: 8rem;
}
.price_02_01 .price_img_01 {
  display: block;
  width: 9.0rem;
  position: absolute;
  left: 1rem;
  bottom: 0;
  -webkit-transform: translateY(25%);
  transform: translateY(25%);
}

.price_02_02 {
  width: 95vw;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.price_02_02 p {
  font-size: 1.0rem;
  line-height: 1.4;
}

.price_img_02 {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.tbl_ttl_h2 {
  display: block;
  padding: 0.5rem;
  font-size: 2.1rem;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: #e9537a;
  border: 2px solid #727171;
  border-bottom: 0;
  -moz-border-radius-topleft: 2rem;
  -moz-border-radius-topright: 2rem;
  -webkit-border-top-left-radius: 2rem;
  -webkit-border-top-right-radius: 1rem;
  border-top-left-radius: 2rem;
  border-top-right-radius: 2rem;
}
.tbl_ttl_h2 small {
  display: block;
  font-size: 1.2rem;
}
.tbl_ttl_h2 span {
  display: block;
  font-size: 1.8rem;
}
.tbl_ttl_h2.ttl_bg_grn {
  background-color: #3eb370;
}
.tbl_ttl_h2.ttl_bg_blu {
  background-color: #4789c9;
}
.tbl_ttl_h2.ttl_bg_or {
  background-color: #f19024;
}

.price_table {
  width: 100%;
  border: 2px solid #727171;
  background-color: #fff;
  margin-bottom: 2rem;
}
.price_table td {
  border: 2px solid #727171;
  text-align: right;
  padding: 0.5rem 2.5rem 0.5rem 1rem;
  line-height: 1.2;
  vertical-align: middle;
  padding: 10px !important;
  font-size: 14px !important;
  text-align: center !important;
  line-height: 1.4 !important;
}
.price_table tbody > tr > td:nth-child(1) {
  font-size: 1.5rem;
}
.price_table tbody > tr > td:nth-child(2) {
  font-size: 1.8rem;
  background-color: #f5f3f2;
  color: #d62a54;
}
.price_table tbody > tr > td:nth-child(3) {
  font-size: 1.5rem;
  text-align: left;
  padding-right: 1rem;
  padding-left: 3rem;
}

.ttl_bg_grn + .price_table tbody > tr > td:nth-child(2) {
  color: #3eb370;
}

.ttl_bg_blu + .price_table tbody > tr > td:nth-child(2) {
  color: #4789c9;
}

.ttl_bg_or + .price_table tbody > tr > td:nth-child(2) {
  color: #f19024;
}

.price_03 {
  position: relative;
  padding-bottom: 3rem;
}
.price_03 .price_02_02 {
  padding-top: 3rem;
}

.ttl_h2_pen {
  background-image: url("../img/price/ttl_img.png");
  background-position: center 0;
  background-size: auto 18rem;
  background-repeat: no-repeat;
  width: 100%;
  height: 18rem;
  padding-top: 8.1rem;
  margin: -8rem auto 2rem;
}
.ttl_h2_pen span {
  display: block;
  text-align: center;
  font-size: 2.5rem;
  line-height: 1.4;
  color: #d62a54;
}
.ttl_h2_pen + p {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.3rem;
}

.price_table.typeA tbody > tr > td:nth-child(1) {
  text-align: left;
  padding-right: 1rem;
  font-size: 1.3rem;
}
.price_table.typeA tbody > tr > td:nth-child(2) {
  text-align: left;
  padding-right: 1rem;
  padding-left: 2rem;
}
.price_table.typeB tbody > tr > td {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 1.2rem;
}
.price_table.typeB tbody > tr > td:nth-child(3) {
  text-align: left;
  font-size: 1.2rem;
}
.price_table.typeC tbody > tr > td:nth-child(1) {
  text-align: left;
  padding-right: 1rem;
}
.price_table.typeC tbody > tr > td:nth-child(2) {
  text-align: right;
  padding-left: 3rem;
}
.price_table.typeD tbody > tr > td:nth-child(1) {
  text-align: right;
  padding-right: 1rem;
  white-space: nowrap;
  font-size: 1.3rem;
}
.price_table.typeD tbody > tr > td:nth-child(2) {
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
}
.price_table.typeD tbody > tr > td:nth-child(2) small {
  display: block;
  font-size: 0.5em;
}
.price_table.typeE tbody > tr td {
  padding: 2rem;
  text-align: center;
}
.price_table.typeE tbody > tr td p {
  display: inline-block;
  text-align: left;
  font-size: 1.5rem;
}

.price_04 .price_02_02 {
  padding-top: 5rem;
}

.price_04_01 {
  width: 95vw;
  background-color: #fff100;
  -moz-border-radius: 4.5rem;
  -webkit-border-radius: 4.5rem;
  border-radius: 4.5rem;
  padding: 1rem;
  margin-top: 3rem;
  position: relative;
}
.price_04_01 + .anchor + .price_04_01, .price_04_01 + .price_04_01 {
  margin-top: 7rem;
}
.price_04_01.mt_lerge {
  margin-top: 18rem;
}
.price_04_01 .price_img_06 {
  display: block;
  width: 15rem;
  position: absolute;
  top: 2rem;
  right: -4rem;
}
.price_04_01 .price_img_07 {
  display: block;
  width: 11rem;
  position: absolute;
  bottom: 0;
  left: 3rem;
  -webkit-transform: translateY(82%);
  transform: translateY(82%);
}
.price_04_01 .price_img_08 {
  display: block;
  width: 13rem;
  position: absolute;
  bottom: 0;
  right: 4rem;
  -webkit-transform: translateY(81%);
  transform: translateY(81%);
}

.ttl_h2_priceA {
  font-size: 3rem;
  font-weight: 900;
  font-style: italic;
  font-family: 'Noto Sans JP', sans-serif;
  color: #d62a54;
  vertical-align: middle;
  line-height: 1.2;
  letter-spacing: -0.05em;
  margin-bottom: 1rem;
  text-align: center;
  position: relative;
}
.ttl_h2_priceA small {
  font-size: 1.35rem;
  font-style: normal;
  display: block;
  letter-spacing: -0.03em;
  margin-bottom: 0.2rem;
}

.price_04_in {
  -moz-border-radius: 4.5rem;
  -webkit-border-radius: 4.5rem;
  border-radius: 4.5rem;
  background-color: #fff;
  padding: 1rem 1rem 2rem;
}
.price_04_in .large_text {
  margin-bottom: 3rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: italic;
  font-weight: 900;
  color: #d62a54;
  font-size: 2.5rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.price_04_in .large_text strong {
  font-size: 6rem;
}
.price_04_in .large_text small {
  font-size: 1.7rem;
}
.price_04_in .jp_indent {
  font-size: 1.0rem;
  line-height: 1.4;
}
.price_04_in .tbl_ttl_h2 {
  font-size: 2.3rem;
  padding: 1rem;
  border: none;
}

.ttl_oval {
  width: 8.2rem;
  height: 8.2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  margin: 0 auto;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  color: #fff;
  background-color: #d62a54;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  transform: rotate(0.028deg);
  -o-transform: rotate(0.028deg);
  -ms-transform: rotate(0.028deg);
  -moz-transform: rotate(0.028deg);
  -webkit-transform: rotate(0.028deg);
}

.ico_check {
  font-size: 1.5rem;
  background-image: url("../img/price/ico_check.png");
  background-size: 2.2rem auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  padding: 0 0 0 3rem;
}

.price_table.typeF {
  border-color: #d62a54;
  margin-bottom: 0;
}
.typeD .price_table.typeF {
  margin-bottom: 2rem;
}
.price_table.typeF td {
  border-color: #d62a54;
  padding: 0.5rem 1rem;
  vertical-align: middle;
}
.price_table.typeF tbody > tr td:nth-child(1) {
  font-size: 1.2rem;
  text-align: left;
}
.typeD .price_table.typeF tbody > tr td:nth-child(1) {
  font-size: 1.1rem;
  position: relative;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.typeD .price_table.typeF tbody > tr td:nth-child(1) strong {
  font-size: 1.5rem;
  font-weight: normal;
}
.typeD .price_table.typeF tbody > tr td:nth-child(1) .uchikeshi {
  font-size: 1.4rem;
  margin: 0 0 0 auto;
  display: block;
  width: 11rem;
}
.price_table.typeF tbody > tr td:nth-child(2) {
  font-size: 2.1rem;
  text-align: right;
  background-color: #fffbc7;
  color: #d62a54;
  font-weight: bold;
}
.typeD .price_table.typeF tbody > tr td:nth-child(2) {
  font-size: 1.7rem;
  white-space: nowrap;
}
.price_table.typeF tbody > tr td:nth-child(2) span {
  font-size: 1.5rem;
  margin-right: 1em;
  color: #000;
}

.price_04_in.typeB .large_text {
  text-align: center;
}
.price_04_in.typeB .ico_check {
  margin-left: 2rem;
}

.uchikeshi {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  padding-right: 4rem;
  background-image: url("../img/price/arrow.png");
  background-size: 2.4rem auto;
  background-position: right 0 center;
  background-repeat: no-repeat;
  position: relative;
  margin: 0 0 0.5rem 10rem;
}
.uchikeshi.no_arrow {
  background-image: none;
  padding-right: 0;
}
.uchikeshi::after {
  content: "";
  display: block;
  width: 80%;
  border-bottom: 2px solid #d62a54;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
  transform: rotate(-8deg);
  -o-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  -moz-transform: rotate(-8deg);
  -webkit-transform: rotate(-8deg);
}

.price_img_09 {
  display: block;
  width: 80vw;
  margin: -3rem auto 0;
}

.price_04_in.typeC {
  text-align: center;
}
.price_04_in.typeC .large_text {
  color: #000;
  margin-top: 0;
  margin-bottom: 1rem;
  text-align: center;
}
.price_04_in.typeC .jp_indent {
  display: inline-block;
  font-size: 1.1rem;
}
.price_04_in.typeC .flex_block > .flex_block_child {
  width: 100%;
  padding: 1rem;
}
.price_04_in.typeC .flex_block > .flex_block_child img {
  display: block;
  width: 100%;
}

.price_img_10 {
  width: 20rem;
  display: block;
  margin: 0 auto;
}

.price_04_in.typeD {
  margin-top: 3rem;
}
.price_04_in.typeD .price_img_13 {
  display: block;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.price_04_in.typeD .large_text {
  margin-bottom: 0;
}

.fx_price {
  margin-bottom: 3rem;
}
.fx_price > .flex_block_child {
  width: 100%;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.4;
  padding: 0 1rem;
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif;
}
.fx_price > .flex_block_child h3 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.4;
  border-bottom: 2px solid #d62a54;
  margin-bottom: 0.5rem;
}
.fx_price > .flex_block_child .large_text strong {
  font-size: 6.8rem;
}
.fx_price > .flex_block_child .uchikeshi {
  font-size: 1.6rem;
  margin-left: 0;
  margin-top: 0.8rem;
  background-size: 1.4rem auto;
}
.fx_price > .flex_block_child .uchikeshi.no_arrow::after {
  display: none;
}
.fx_price > .flex_block_child:first-child {
  margin-bottom: 2rem;
}

.fx_price_in {
  -webkit-align-items: flex-start;
  /*縦方向（Safari用）*/
  align-items: flex-start;
  /* 縦方向*/
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
}

#price #sec02 {
  top: -2rem;
}
#price #sec03 {
  top: -6rem;
}
#price #sec04 {
  top: -2rem;
}

.price_04_in.typeE .large_text {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.price_04_in.typeE .large_text small {
  display: block;
  text-align: center;
  line-height: 1.3;
}

.price_img_14 {
  display: block;
  width: 60vw;
  margin: -8rem -1.4rem 0 auto;
}

.price_04_last {
  padding: 0;
  margin-top: 15rem;
}
.price_04_last .wrap_in {
  position: relative;
}
.price_04_last .wrap_in .price_img_15 {
  display: block;
  width: 43vw;
  position: absolute;
  bottom: 32vw;
  left: -1rem;
}
.price_04_last .wrap_in .ttl_deco_h2.ttl_deco_red {
  padding-top: 3rem;
  margin-bottom: 2rem;
  line-height: 1.4;
}
.price_04_last .wrap_in .ttl_deco_h2.ttl_deco_red strong {
  display: block;
  margin-top: 2rem;
}
.price_04_last .wrap_in .ttl_deco_h2.ttl_deco_red::after, .price_04_last .wrap_in .ttl_deco_h2.ttl_deco_red::before {
  top: auto;
  bottom: 1rem;
}

#price #container {
  overflow: hidden;
}

/* 制作の流れ
------------------------------- */
#process .page_main_ttl_h1 {
  background-position: 15vw center;
  background-size: auto 92%;
}

.anchor_btn.bg__blu {
  background-color: #0078b9 !important;
}

.process_01 {
  padding: 6vw 0 12vw;
  background-image: url("../img/price/bg_4.png");
  background-size: 3rem auto;
  background-repeat: repeat;
  background-color: #fff;
}
.process_01 .wrap_in {
  width: 95vw;
}
.process_01 .wrap_in .fx_anchor {
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
}
.process_01 .wrap_in + .anchor {
  margin-top: 10vw;
}
.process_01 .wrap_in + .anchor > span {
  top: -16vw;
}

.ttl_h2_center_oval {
  font-size: 2.2rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 0;
  height: 6rem;
  padding-top: 1.5rem;
  overflow: hidden;
}
.ttl_h2_center_oval .img_web_orikomi_wh {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
  width: 12.5rem;
}
.ttl_h2_center_oval::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  -moz-border-radius: 30rem;
  -webkit-border-radius: 30rem;
  border-radius: 30rem;
  background-color: #0078b9;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
}
.ttl_h2_center_oval::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.6rem;
  background-color: #0078b9;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.ttl_h2_center_oval.center_oval_red::before, .ttl_h2_center_oval.center_oval_red::after {
  background-color: #d62a54;
}
.ttl_h2_center_oval.center_oval_or::before, .ttl_h2_center_oval.center_oval_or::after {
  background-color: #f08300;
}

.process_wrap_in {
  padding: 1.5rem;
  background-color: #75bce8;
  -moz-border-radius-bottomleft: 3rem;
  -moz-border-radius-bottomright: 3rem;
  -webkit-border-bottom-left-radius: 3rem;
  -webkit-border-bottom-right-radius: 3rem;
  border-bottom-left-radius: 3rem;
  border-bottom-right-radius: 3rem;
}
.process_wrap_in .process_article h3 {
  color: #0078b9;
}
.sec02 .process_wrap_in {
  background-color: #f198a6;
}
.sec02 .process_wrap_in .process_article h3 {
  color: #d62a54;
}
.sec03 .process_wrap_in {
  background-color: #fcc92c;
}
.sec03 .process_wrap_in .process_article h3 {
  color: #f08300;
}

.process_article {
  padding: 1.5rem 1.5rem 0.1px;
  margin-top: 4.3rem;
  position: relative;
  background-color: #fff;
  position: relative;
  z-index: 0;
  -moz-border-radius: 2.7rem;
  -webkit-border-radius: 2.7rem;
  border-radius: 2.7rem;
  -moz-border-radius-topleft: 0;
  -webkit-border-top-left-radius: 0;
  border-top-left-radius: 0;
}
.process_article + .process_article {
  margin-top: 6.5rem;
}
.process_article .process_no {
  display: block;
  width: 7.8rem;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-45%);
  transform: translateY(-45%);
  z-index: -1;
}
.process_article h3 {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
}
.process_article p {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.process_article p small {
  font-size: 0.8em;
}
.process_article p.jp_indent {
  font-size: 1.1rem;
  font-weight: normal;
}

.sec01 .article_01 {
  height: 11.9rem;
}
.sec01 .article_01 .process_img_01 {
  display: block;
  width: 92%;
  position: absolute;
  bottom: 0;
  right: 0.5rem;
}
.sec01 .article_02 .process_img_02 {
  isplay: block;
  width: 100%;
  margin: 0px auto 2rem;
}
.sec01 .article_04 {
  height: 24rem;
}
.sec01 .article_04 .process_img_03 {
  display: block;
  width: 90%;
  position: absolute;
  bottom: 0;
  right: 2rem;
}
.sec01 .article_05 {
  height: 25.4rem;
}
.sec01 .article_05 .process_img_04 {
  display: block;
  width: 90%;
  position: absolute;
  bottom: 0;
  left: 2rem;
}

.sec02 .article_01 {
  height: 14rem;
}
.sec02 .article_01 .process_img_05 {
  display: block;
  width: 92%;
  position: absolute;
  bottom: 0;
  right: 1rem;
}
.sec02 .article_02 {
  height: 34.6rem;
}
.sec02 .article_02 .process_img_06 {
  display: block;
  width: 67%;
  position: absolute;
  top: 7rem;
  left: 0.5rem;
}
.sec02 .article_02 .process_img_07 {
  display: block;
  width: 34%;
  position: absolute;
  top: 4.7rem;
  right: 1.1rem;
}
.sec02 .article_04 .process_img_08 {
  display: block;
  width: 52vw;
  position: absolute;
  top: -5rem;
  right: -2rem;
}
.sec02 .article_05 {
  height: 11.9rem;
}
.sec02 .article_05 .process_img_09 {
  display: block;
  width: 90%;
  position: absolute;
  bottom: 0rem;
  right: 1rem;
}

.sec03 .article_01 .process_img_11 {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.sec03 .article_04 .process_img_12 {
  display: block;
  width: 100%;
  margin-bottom: 2rem;
}
.sec03 .article_05 .process_img_13 {
  display: block;
  width: 100%;
}

/* よくあるご質問
------------------------------- */
#faq .anchor > span {
  top: -16vw;
}
#faq .page_main_ttl_h1 {
  background-position: 10.9vw center;
  background-size: auto 86%;
}
#faq .anchor_wrap {
  width: 100%;
}
#faq .anchor_wrap .anchor_btn {
  min-height: 9vw;
}

.faq_wrap {
  padding: 6vw 0 12vw;
  background-image: url("../img/price/bg_4.png");
  background-size: 3rem auto;
  background-repeat: repeat;
  background-color: #fff;
}
.faq_wrap .fx_anchor {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: space-between;
  /*横方向（Safari用）*/
  justify-content: space-between;
  /*横方向*/
}
.faq_wrap .fx_anchor > .flex_block_child {
  width: 50%;
  padding: 0 1vw;
}
.faq_wrap .fx_anchor > .flex_block_child .anchor_btn {
  width: 100%;
  font-size: 1rem;
  padding: 1vw 2vw;
}

.bg__gr {
  background-color: #1d9d3c !important;
}

.bg__lgr {
  background-color: #89c122 !important;
}

.ttl_h2_pencil {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2.0rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}
.ttl_h2_pencil span {
  display: inline-block;
  border-bottom: 3px solid #1d9d3c;
  padding: 0 0.6em;
  position: relative;
}
.ttl_h2_pencil span::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3.204545455rem;
  background-image: url("../img/faq/ttl_ico_01.png");
  background-size: 100% 100%;
  background-position: 0 bottom;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -3px;
  right: 2px;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.faq_Q {
  -moz-border-radius: 2rem;
  -webkit-border-radius: 2rem;
  border-radius: 2rem;
  padding: 1.2rem 1.2rem 1.2rem 4.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #1d9d3c;
  margin-top: 3rem;
  background-image: url("../img/faq/ttl_ico_02.png");
  background-size: 3.3rem auto;
  background-position: 0.7rem 0.8rem;
  background-repeat: no-repeat;
  background-color: #fff100;
}

.faq_A {
  padding: 0.4rem 1rem 0.4rem 4.5rem;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  background-image: url("../img/faq/ttl_ico_03.png");
  background-size: 2.3rem auto;
  background-position: 1.3rem 0.3rem;
  background-repeat: no-repeat;
}

.faq_wrap_in {
  margin-top: 10vw;
}
.faq_wrap_in .al_r {
  margin-top: 3rem;
  font-size: 1.1rem;
}

.parts_img_web_orikomi_bk {
  width: 16.2rem;
  vertical-align: baseline;
}

.faq_tel {
  display: block;
  width: 80%;
  margin: 1rem auto;
}

.faq_btn_01 {
  display: block;
  width: 100%;
  margin: 1rem auto;
}

.faq_A_01 strong {
  display: block;
  text-align: center;
  font-size: 2.0rem;
  color: #595757;
}
.faq_A_01 small {
  display: block;
  text-align: center;
  font-size: 1.0rem;
  color: #595757;
}
.faq_A_01 span {
  display: block;
  text-align: center;
}

.faq_A_02 {
  position: relative;
  height: 44rem;
}
.faq_A_02 .faq_img_01 {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.faq_A_03 {
  position: relative;
}
.faq_A_03 .faq_img_02 {
  display: block;
  width: 100%;
  margin-top: 1rem;
}
.faq_A_03 small {
  font-size: 0.8em;
}

.faq_card {
  display: block;
  width: 100%;
  margin: 1rem auto 0;
}

/* 利用規約
------------------------------- */
#terms-of-service .anchor > span {
  top: -16vw;
}

.terms_wrap {
  padding: 12vw 0;
  background-image: url("../img/price/bg_4.png");
  background-size: 3rem auto;
  background-repeat: repeat;
  background-color: #fff;
}
.terms_wrap p {
  font-size: 1.3rem;
  padding: 1rem 2rem 1rem;
  font-weight: bold;
}
.terms_wrap p span {
  display: block;
}
.terms_wrap .wrap_in {
  width: 100%;
}

.ttl_h2_marker {
  position: relative;
  margin-top: 6vw;
  font-size: 1.8rem;
  font-weight: bold;
  color: #1d9d3c;
  text-align: left;
  padding: 0 1rem 0.8rem 2rem;
  z-index: 0;
  line-height: 1.3;
}
.ttl_h2_marker:first-child {
  margin-top: 0;
}
.ttl_h2_marker::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.0rem;
  background-color: #fff100;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

/* お問合せ扉ページ
------------------------------- */
#contact-us .page_main_ttl_h1 {
  background-position: 6.8rem center;
  background-size: auto 74%;
}

.contact_us_wrap {
  padding: 10vw 0;
  background-image: url("../img/price/bg_4.png");
  background-size: 3rem auto;
  background-repeat: repeat;
  background-color: #fff;
}
.contact_us_wrap .contact_us_in {
  margin-bottom: 7vw;
}
.contact_us_wrap .contact_us_in:not(.no_after)::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #1d9d3c;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin-top: 7vw;
}
.contact_us_wrap .contact_us_in.typeB > h3 {
  text-align: center;
  font-size: 4.5rem;
  font-weight: bold;
  color: #1d9d3c;
  margin-bottom: -1rem;
  line-height: 1.2;
}
.contact_us_wrap .contact_us_in.typeB > h3 small {
  font-size: 0.8em;
}
.contact_us_wrap .contact_us_in.typeB .anchor_btn {
  font-size: 1.6rem;
  -moz-border-radius: 3rem;
  -webkit-border-radius: 3rem;
  border-radius: 3rem;
  background-position: right 1.5rem center;
}
.contact_us_wrap .contact_us_in.typeB p {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 3rem;
}
.contact_us_wrap .contact_us_in.typeC {
  padding-top: 5rem;
}
.contact_us_wrap .contact_us_in.typeC h3 {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #1d9d3c;
  line-height: 1.6;
}
.contact_us_wrap .contact_us_in.typeC p {
  text-align: center;
  font-size: 1.5rem;
  margin-top: 3rem;
}

.fx_contact_us {
  -webkit-align-items: flex-start;
  /*縦方向（Safari用）*/
  align-items: flex-start;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  width: 100%;
}
.fx_contact_us > .blockA {
  width: 100%;
}
.fx_contact_us > .blockB {
  width: 100%;
  text-align: left;
}
.fx_contact_us > .blockB p {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.p_marker {
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
  padding: 0 6vw 1.6vw;
  margin-top: 5vw;
  line-height: 1.7;
}
.p_marker::after {
  content: "";
  display: block;
  width: 100%;
  height: 1.6rem;
  background-color: #fff100;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.contact_img_01 {
  width: 100%;
  display: block;
  margin-top: 4vw;
  margin-bottom: 2vw;
}
.contact_img_01.contact_img_01_1 {
  margin-top: 2vw;
}

.ttl_arrow_box {
  font-size: 1.7rem;
  font-weight: bold;
  text-align: left;
  padding: 0.5rem 1rem 0.5rem 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  width: 72vw;
  height: 12vw;
  position: relative;
  background-color: #fff100;
}
.ttl_arrow_box::after {
  content: "";
  display: block;
  border-width: 6vw;
  border-style: solid;
  border-color: transparent;
  border-left-color: #fff100;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.fx_staff_B {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
}
.fx_staff_B > .flex_block_child {
  width: 33.3333333333%;
  padding: 4vw 0;
}

.tbb_staff_B .cellA img {
  display: block;
  width: 86%;
  margin: 0 auto;
}
.tbb_staff_B .cellB {
  font-size: 1.2rem;
  text-align: center;
  padding-top: 2vw;
  line-height: 1.6;
}
.tbb_staff_B .cellB small {
  font-size: 0.8em;
}

/* フロートバナー
------------------------------- */
.float_link {
  background-color: #fff100;
  padding: 0 1vw;
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8vw;
  z-index: 5000;
}
.float_link .float_link_in + .float_link_in {
  border-top: 1px solid #000;
}
.float_link .float_link_in a {
  display: block;
  padding: 2vw 1.5vw;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/*# sourceMappingURL=mainSp.css.map */




.contact_link{
  display: block;
  margin-top: 30px;
  padding: 20px;
}
.contact_link ul{
  display: flex;
  justify-content:space-between
}
.contact_link ul li img{
  width: 40px;
} 

#link1,
#link2,
#link3,
#link4,
#link5{
  padding-top:100px;
  margin-top: -100px;
}

