@charset "utf-8";
/* ========================================================
	top.css => トップページ用CSS
======================================================== */
/*メインビジュアル
============================================================================================================ */
.mainvisual img {
  width: 100%;
  position: relative;
}
.mainvisual span {
  position: absolute;
  top: 4em;
  right: 3em;
  font-size: 7rem;
  letter-spacing: 0.1rem;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1560px) {
  .mainvisual span {
    right: 2.5em;
    font-size: 5.5rem;
  }
}
@media screen and (max-width: 960px) {
  .mainvisual span {
    font-size: 3.5rem;
    top: 2.5em;
    right: 0.5em;
  }
}
@media screen and (max-width: 680px) {
  .mainvisual span {
    font-size: 2.8rem;
    top: 16em;
    right: -1em;
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .mainvisual span {
    font-size: 2.4rem;
    top: 13.5em;
  }
}
/*背景
============================================================================================================ */
.bg_gray {
  background-color: #f9f9f9;
  padding: 5em 0;
}
.bg_red {
  background-color: #ff001a;
  padding: 6em 0;
}
@media screen and (max-width: 960px) {
  .bg_gray {
    padding: 3.5em 0;
  }
  .bg_red {
    padding: 3.5em 0;
  }
}
/*見出し、テキスト
============================================================================================================ */
.title_felx {
  display: flex;
  width: 100%;
}
.title_felx div.title_togi {
  width: 30%;
}
.title_felx div.lead {
  width: 70%;
}
.title_togi {
  margin-bottom: 3.5em;
}
h2.title_togi_inner {
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1;
}
.title_togi span {
  font-size: 2rem;
  font-weight: 600;
  color: #ff001a;
  letter-spacing: 0.1rem;
  display: block;
  margin-top: 0.7em;
}
@media screen and (max-width: 960px) {
  .title_felx {
    display: block;
  }
  .title_felx div.title_togi {
    width: auto;
  }
  .title_felx div.lead {
    width: auto;
    margin-bottom: 2em;
  }
  h2.title_togi_inner {
    font-size: 2.8rem;
  }
  .title_togi {
    margin-bottom: 2em;
  }
  .title_togi span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 680px) {
  h2.title_togi_inner {
    font-size: 2.3rem;
    line-height: 1.5;
  }
  .title_togi span {
    font-size: 1.8rem;
  }
}
.text_circle {
  margin: 0;
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
}
.text_circle span {
  position: relative;
  margin-left: 1.5em;
}
.text_circle span::before {
  position: absolute;
  top: 0;
  left: -1.5em;
  content: "●";
  color: #ff001a;
}
@media screen and (max-width: 960px) {
  .text_circle {
    font-size: 1.6rem;
  }
}
/*abot こだわり
============================================================================================================ */
.about_img {
  width: 100%;
}
.about_img img{
  width: 100%;
}
/*service サービス
============================================================================================================ */
.service_img {
  width: 100%;
}
.service_img img {
  width: 100%;
}
.card_wrap {
  position: relative;
  display: flex;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em;
}
.card_item {
  background: #fff;
  width: calc(100% / 3.33);
}
.card_text {
  padding: 1em;
}
@media screen and (max-width: 680px) {
  .card_wrap {
    display: block;
  }
  .card_item {
    width: auto;
  }
  .card_item + .card_item {
    margin-top: 2.5em;
  }
  .card_text {
    padding: 2em 1em;
  }
}
/*merit　メリット
============================================================================================================ */
.white_box {
  background-color: #fff;
  padding: 4em;
}
.white_box + .white_box {
  margin-top: 4.5em;
}
.merit_img {
    width: 100%;
    text-align: center;
} 
.merit_img img{
    width: 90%;
} 
@media screen and (max-width: 960px) {
  .white_box {
    padding: 3em 1em;
  }
}
@media screen and (max-width: 680px) {
  .merit_img img{
    max-width: auto;
  }
}

/*price　料金表
============================================================================================================ */
.gray_b_box {
  border: solid 1px #d3d3d3;
}
.price_flex {
  display: flex;
  width: 100%;
}
.price_title {
  background: #ededed;
  padding: 0.5em 1em;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 600;
  position: relative;
}
.knife .price_title::before {
  position: absolute;
  content: "";
  background: url("../images/top/knife_ico.svg") no-repeat;
  width: 1.8em;
  height: 1.8em;
  top: 0.5em;
  left: 0.5em;
}
.scissors .price_title::before {
  position: absolute;
  content: "";
  background: url("../images/top/scissors_ico.svg") no-repeat;
  width: 1.8em;
  height: 1.8em;
  top: 0.5em;
  left: 0.5em;
}
.knife {
  width: 50%;
  padding: 1em;
}
.knife_list {
  padding: 1em;
}
.price_flex dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: none;
  background-image: radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px);
  background-size: 6px 2px, 6px 2px;
  background-position: 0 100%, 100% 100%;
  background-repeat: repeat-x, repeat-x;
  padding: 0.5em 0;
}
.price_flex dt {
  font-size: 1.9rem;
}
.price_flex dt > span {
  font-size: 1.6rem;
}
.price_flex dd {
  font-size: 2.5rem;
  letter-spacing: 0.1rem;
  font-weight: bold;
}
.price_flex dd span {
  font-size: 1.6rem;
  font-weight: normal;
}
.scissors {
  width: 50%;
  padding: 1em;
}
.scissors_list {
  padding: 1em;
}
@media screen and (max-width: 960px) {
  .price_flex {
    display: block;
  }
  .price_title {
    font-size: 2.0rem;
  }
  .knife {
    width: auto;
    padding: 1em;
  }
  .scissors {
    width: auto;
    padding: 1em;
  }
  .price_flex dt {
    font-size: 1.6rem;
  }
  .price_flex dt > span {
    font-size: 1.5rem;
  }
  .price_flex dd {
    font-size: 1.8rem;
  }
  .price_flex dd span {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 680px) {
  .price_title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .price_flex dt {
    font-size: 1.5rem;
  }
  .price_flex dt > span {
    font-size: 1.4rem;
  }
  .price_flex dd {
    font-size: 1.6rem;
  }
  .price_flex dd span {
    font-size: 1.3rem;
  }
}
/*contact ご依頼方法・お問い合わせ
============================================================================================================ */
.cv_area {
  background-color: #f9f9f9;
  /*border: dotted 2px #3876bf;*/
  /* padding: 0 3em;*/
  border: none;
  background-image:
    radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px);
  background-size: 6px 2px, 2px 6px, 6px 2px, 2px 6px;
  background-position: 0 0, 0 0, 0 100%, 100% 0;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
}
.cv_list {
  display: flex;
  align-items: center;
  text-align: center;
}
.cv_list li {
  width: 100%;
  padding: 2.5em;
}
.contact .cv_list li + li {
  /* border-left: dotted 2px #3876bf;*/
  border: none;
  background-image:
    radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px);
  background-size: 2px 6px, 2px 6px;
  background-position: 0 0, 0 100%;
  background-repeat: repeat-y, repeat-y;
}
/*title*/
.cv_list li .cv_title {
  font-size: 2.0rem;
}
.cv_list li .cv_title.mail span {
  position: relative;
}
.cv_list li .cv_title.mail span::before {
  position: absolute;
  top: 0.2em;
  left: -3em;
  content: "";
  background: url("../images/top/mail_ico.svg") no-repeat;
  width: 2.5em;
  height: 2.5em;
}
.cv_list li .cv_title.tel span {
  position: relative;
}
.cv_list li .cv_title.tel span::before {
  position: absolute;
  top: 0;
  left: -3em;
  content: "";
  background: url(../images/top/tel_ico.svg) no-repeat;
  width: 2em;
  height: 2em;
}
.cv_list li .cv_title.request span {
  position: relative;
}
.cv_list li .cv_title.request span::before {
  position: absolute;
  top: 0;
  left: -2.5em;
  content: "";
  background: url("../images/top/request_ico.svg") no-repeat;
  width: 2em;
  height: 2em;
}
/*btn*/
.cv_btn {
  margin: 2.5em 0;
}
.cv_btn a {
  position: relative;
  align-items: center;
  max-width: 12rem;
  padding: 0.5em 1.5em;
  color: #3876bf;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: solid 1px #3876bf;
  border-bottom: solid 5px #3876bf;
  font-size: 2.0rem;
  font-weight: 600;
}
.cv_btn a:hover {
  color: #fff;
  background: #3876bf;
  border: solid 1px #3876bf;
  border-bottom: solid 5px #29568c;
}
/*text*/
.cv_text {
  font-size: 1.3rem;
  letter-spacing: normal;
}
@media screen and (max-width: 960px) {
  .cv_list li .cv_title {
    font-size: 1.6rem;
  }
  .cv_btn a {
    font-size: 1.6rem;
  }
  .cv_list {
    display: block;
  }
  .cv_list li {
    width: auto;
  }
  .contact .cv_list li + li {
    /*border-left: none;
    border-top: dotted 3px #3876bf;*/
    background-image:
      radial-gradient(circle, #3876bf 1px, transparent 1px), radial-gradient(circle, #3876bf 1px, transparent 1px);
    background-size: 6px 2px, 6px 2px;
    background-position: 0 0, 100% 0;
    background-repeat: repeat-x, repeat-x;
  }
  .cv_list.li_02 li:first-child {
    padding: 1em 0.5em;
  }
  .cv_list.li_02 li:last-child {
    padding: 0 2.5em 2.5em 2.5em;
  }
  .cv_btn {
    margin: 1.5em 0;
  }
}
@media screen and (max-width: 960px) {
  .cv_list li .cv_title {
    font-size: 1.5rem;
  }
  .cv_btn a {
    font-size: 1.5rem;
  }
}
/*
============================================================================================================ */
.yellow_box {
  background-color: #ffd800;
  padding: 4em 2em;
}
.meister_title {
  font-size: 2.0rem;
  text-align: center;
}
.meister_title span {
  font-size: 2.8rem;
  color: #ff001a;
  display: block;
  font-weight: bold;
}
.meister_flex {
  display: flex;
  background: #fff;
}
.inexperienced {
  width: 50%;
  padding: 1em 0.5em 1em 1em;
}
.inexperienced_title {
  background: #d8d8d8;
  color: #000;
  padding: 1em;
  text-align: center;
  font-weight: 600;
  font-size: 2.0rem;
}
.inexperienced_text {
  padding: 1em;
}
.simulation {
  width: 50%;
  padding: 1em 1em 0.5em 1em;
}
.simulation_title {
  background: #404040;
  color: #fff;
  padding: 1em;
  text-align: center;
  font-weight: 600;
  font-size: 2.0rem;
}
.simulation_text {
  padding: 1em;
}
.cv_list_inner02 {
  font-size: 2.4rem;
}
.cv_list_inner02 span {
  font-size: 2.8rem;
  font-weight: bold;
  color: #ff001a;
}
@media screen and (max-width: 960px) {
  .yellow_box {
    padding: 3em 1em;
  }
  .cv_list_inner02 {
    font-size: 1.6rem;
  }
  .cv_list_inner02 span {
    font-size: 1.8rem;
  }
  .meister_flex {
    display: block;
  }
  .inexperienced {
    width: auto;
    padding: 1em;
  }
  .simulation {
    width: auto;
    padding: 1em;
  }
  .inexperienced_title {
    font-size: 1.8rem;
  }
  .simulation_title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 680px) {
  .inexperienced_text {
    padding: 1em 0.5em;
  }
  .inexperienced {
    width: auto;
    padding: 0.5em;
  }
  .simulation {
    width: auto;
    padding: 0.5em;
  }
  .simulation_text {
    padding: 0.5em;
  }
  .cv_list_inner02 {
    font-size: 1.5rem;
  }
  .cv_list_inner02 span {
    font-size: 1.6rem;
  }
  .inexperienced_title {
    font-size: 1.6rem;
  }
  .simulation_title {
    font-size: 1.6rem;
  }
}
/*
============================================================================================================ */
.tableSample {
  width: 100%;
  border-collapse: collapse;
}
.tableSample th, td {
  padding: 1em;
  border: 1px solid #d3d3d3;
}
.tableSample th {
  background: #fde8e9;
  font-weight: 600;
  /*color: #fff;  */
}
.tableSample td {
  background: #fff;
}
@media screen and (max-width: 960px) {
  .tableSample th, td {
    width: auto;
    display: block;
    border-top: none;
  }
  .tableSample tr:first-child {
    border-top: 1px solid #d5d5d5;
  }
}
/*.company_table {
  border-collapse: collapse;
  width: 100%;
}

.company_table th, .company_table td {
 border-bottom: 2px solid #fde8e9;
  padding: 1em;
}

.company_table th {
 border-bottom: 2px solid #ff001a;
  font-weight: bold;
  min-width: 4em;
}

@media screen and (max-width: 960px) {
.company_table th, .company_table td {
width: auto;
display: block;
border-top: none;
}
.company_table tr:first-child {
border-top: 1px solid #fde8e9;
}
}*/
/*
============================================================================================================ */
@media screen and (max-width: 960px) {}
@media screen and (max-width: 680px) {}
@media screen and (max-width: 480px) {}