.web_font, .ttl_style .en, .contact_area_style .tel_area dd .num, .contact_area_style .tel_area dd .time span {
  font-family: 'General Sans', sans-serif; }

@keyframes flowing {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
.ttl_style {
  line-height: 1;
  margin-bottom: 6.25rem; }
  .ttl_style.white {
    color: #fff; }
    .ttl_style.white.icon_white .jp:before {
      border-color: #fff; }
  .ttl_style .jp {
    position: relative;
    font-weight: 700;
    display: block;
    padding-left: 1.25rem;
    margin-bottom: 1.25rem;
    letter-spacing: 0.1em; }
    .ttl_style .jp:before {
      display: block;
      content: '';
      width: 0.3125rem;
      height: 0.3125rem;
      border: 4px solid #cf121c;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate3d(0, -50%, 0);
      border-radius: 100px; }
  .ttl_style .en {
    font-size: 5.75rem;
    font-weight: 500; }

@media screen and (max-width: 736px) {
  .ttl_style {
    margin-bottom: 10.6666666667vw; }
    .ttl_style .jp {
      padding-left: 4.2666666667vw;
      margin-bottom: 2.6666666667vw; }
      .ttl_style .jp:before {
        width: 0.5333333333vw;
        height: 0.5333333333vw;
        border: 4px solid #cf121c; }
    .ttl_style .en {
      font-size: 13.3333333333vw; } }
.btn_style > a, .btn_style > span {
  display: flex;
  align-items: center;
  transition: all .2s 0s ease-in-out; }
.btn_style .icon {
  width: 3.25rem;
  height: 3.25rem;
  position: relative;
  background: #cf121c;
  display: block;
  border-radius: 0.5rem;
  margin-left: 1.25rem;
  transition: all .2s 0s ease-in-out; }
  .btn_style .icon:before {
    display: block;
    content: '';
    width: 0.75rem;
    height: 0.75rem;
    background: url("../images/icon_arrow_w.png") left top no-repeat;
    background-size: 0.75rem 0.75rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }
.btn_style:hover > a, .btn_style:hover > span {
  color: #cf121c !important; }
.btn_style:hover .icon {
  border-radius: 100px; }
.btn_style.white > a, .btn_style.white > span {
  color: #fff !important; }
.btn_style.white .icon {
  background: #fff; }
  .btn_style.white .icon:before {
    background: url("../images/icon_arrow_r.png") left top no-repeat;
    background-size: 0.75rem 0.75rem; }
.btn_style.mini .icon {
  width: 2.5rem;
  height: 2.5rem; }

@media screen and (max-width: 736px) {
  .btn_style .icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 1.0666666667vw;
    margin-left: 2.6666666667vw; }
    .btn_style .icon:before {
      width: 2.6666666667vw;
      height: 2.6666666667vw;
      background: url("../images/icon_arrow_w.png") left top no-repeat;
      background-size: 2.6666666667vw 2.6666666667vw; } }
.tag_style {
  line-height: 1;
  font-size: 0.75rem;
  background: #cf121c;
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  margin-right: 0.625rem;
  font-weight: 400;
  display: inline-block;
  color: #fff;
  margin-bottom: 0.625rem; }
  .tag_style.white {
    background: #fff;
    color: #cf121c; }

@media screen and (max-width: 736px) {
  .tag_style {
    font-size: 3.2vw;
    padding: 0.8vw 1.6vw;
    margin-right: 1.3333333333vw;
    margin-bottom: 1.3333333333vw; } }
.contact_area_style {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%; }
  .contact_area_style.bg {
    background: #f4f4f4;
    border-radius: 0.75rem; }
    .contact_area_style.bg .link_area li:before {
      background: rgba(34, 34, 34, 0.4); }
  .contact_area_style .tag {
    border-radius: 100px;
    font-size: 0.625rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1.25rem;
    color: #cf121c;
    border: 1px solid #cf121c;
    line-height: 1;
    padding: 0.25rem 0.625rem; }
  .contact_area_style .tel_area {
    display: flex;
    align-items: center; }
    .contact_area_style .tel_area dt {
      font-size: 0.75rem;
      line-height: 1.4;
      margin-right: 1.25rem; }
    .contact_area_style .tel_area dd {
      position: relative;
      line-height: 1;
      margin-right: 2rem;
      transition: all .2s 0s ease-in-out; }
      .contact_area_style .tel_area dd:hover {
        color: #cf121c; }
      .contact_area_style .tel_area dd a {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 10; }
      .contact_area_style .tel_area dd .num {
        font-size: 2.125rem;
        margin-bottom: 0.25rem; }
      .contact_area_style .tel_area dd .time {
        font-size: 0.6875rem; }
        .contact_area_style .tel_area dd .time span {
          font-size: 0.8125rem; }
  .contact_area_style .link_area {
    display: flex; }
    .contact_area_style .link_area li {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 5rem;
      height: 5rem; }
      .contact_area_style .link_area li:hover img {
        opacity: 0.6; }
      .contact_area_style .link_area li:before {
        display: block;
        content: '';
        width: 1px;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0.2; }
      .contact_area_style .link_area li a {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 10; }
      .contact_area_style .link_area li img {
        transition: opacity .2s 0s ease-in-out; }
      .contact_area_style .link_area li:nth-of-type(1) img {
        width: 1.375rem;
        height: auto; }
      .contact_area_style .link_area li:nth-of-type(2) img {
        width: 1.5rem;
        height: auto; }

@media screen and (max-width: 736px) {
  .contact_area_style {
    height: 100%;
    position: relative; }
    .contact_area_style.bg {
      border-radius: 1.6vw; }
      .contact_area_style.bg .link_area li:before {
        background: rgba(34, 34, 34, 0.4); }
      .contact_area_style.bg.tag_on .tag {
        width: calc(100% - 5.3333333333vw);
        left: 2.6666666667vw; }
    .contact_area_style.tag_on {
      padding-top: 8vw; }
    .contact_area_style .tag {
      font-size: 3.2vw;
      margin-right: 0;
      padding: 0.5333333333vw 1.3333333333vw;
      position: absolute;
      width: 100%;
      top: 2.6666666667vw;
      box-sizing: border-box; }
    .contact_area_style .tel_area {
      display: flex;
      align-items: center; }
      .contact_area_style .tel_area dt {
        font-size: 2.6666666667vw;
        margin-right: 2.1333333333vw; }
      .contact_area_style .tel_area dd {
        margin-right: 2.6666666667vw; }
        .contact_area_style .tel_area dd .num {
          font-size: 5.8666666667vw;
          margin-bottom: 0.8vw; }
        .contact_area_style .tel_area dd .time {
          font-size: 2.6666666667vw; }
          .contact_area_style .tel_area dd .time span {
            font-size: 3.2vw; }
    .contact_area_style .link_area {
      display: flex; }
      .contact_area_style .link_area li {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 12.2666666667vw;
        height: 10.6666666667vw; }
        .contact_area_style .link_area li:before {
          width: 1px;
          height: 100%; }
        .contact_area_style .link_area li:nth-of-type(1) img {
          width: 4vw; }
        .contact_area_style .link_area li:nth-of-type(2) img {
          width: 4.2666666667vw; } }
.bg_white {
  background: #fff;
  position: relative; }
  .bg_white.top_only {
    border-radius: 0 0 1.25rem 1.25rem; }
    .bg_white.top_only:after {
      display: none; }
  .bg_white:before, .bg_white:after {
    display: block;
    content: '';
    width: 100%;
    height: 1.25rem;
    background: #fff;
    position: absolute;
    left: 0; }
  .bg_white:before {
    top: -1.25rem;
    border-radius: 1.25rem 1.25rem 0 0; }
  .bg_white:after {
    bottom: -1.25rem;
    border-radius: 0 0 1.25rem 1.25rem; }

.bg_red {
  background: #bd0711;
  position: relative; }
  .bg_red.top_only {
    border-radius: 0 0 1.25rem 1.25rem; }
    .bg_red.top_only:after {
      display: none; }
  .bg_red:before, .bg_red:after {
    display: block;
    content: '';
    width: 100%;
    height: 1.25rem;
    background: #bd0711;
    position: absolute;
    left: 0; }
  .bg_red:before {
    top: -1.25rem;
    border-radius: 1.25rem 1.25rem 0 0; }
  .bg_red:after {
    bottom: -1.25rem;
    border-radius: 0 0 1.25rem 1.25rem; }

/*------------------------------------------------------------
#Contents_area
------------------------------------------------------------*/
#Contents_area {
  padding: 7.5rem 0 6.25rem; }
  #Contents_area > div, #Contents_area > ul, #Contents_area > ol, #Contents_area > figure, #Contents_area > pre {
    margin-bottom: 6.25rem; }
  #Contents_area h2:first-child,#Contents_area h3:first-child,#Contents_area h4:first-child,#Contents_area h5:first-child{ margin-top:0;}
  
  #Contents_area a{ color: #cf121c; text-decoration: underline;}
  #Contents_area p{ margin-bottom:1.75rem;font-size: 1.1rem;}
  #Contents_area h2 {
    margin: 4.5rem 0;
    font-size: 1.75rem;
    line-height: 1.4;
    background: #bd0711;
    position: relative;
    color: #fff;
    padding: 1.375rem 2.5rem 1.375rem 3.75rem;
    border-radius: 0.75rem;
    letter-spacing: 0.1em; }
    #Contents_area h2:before {
      display: block;
      content: '';
      width: 0.3125rem;
      height: 0.3125rem;
      border: 4px solid #fff;
      position: absolute;
      top: 50%;
      left: 2rem;
      transform: translate3d(0, -50%, 0);
      border-radius: 100px; }
  #Contents_area h3 {
    margin: 3.25rem 0;
    padding-top: 1.25rem;
    font-size: 1.75rem;
    position: relative;
    padding-left: 2rem;
    line-height: 1.4;
    letter-spacing: 0.1em; }
    #Contents_area h3:before {
      display: block;
      content: '';
      width: 1rem;
      height: 4px;
      background: #cf121c;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate3d(0, -50%, 0);
      margin-top: 0.625rem;
      border-radius: 100px; }
  #Contents_area h4 {
    line-height: 1.4;
    margin: 2.5rem 0;
    padding-top: 0.75rem;
    font-size: 1.5rem;
    position: relative;
    padding-left: 2.125rem;
    letter-spacing: 0.1em; }
    #Contents_area h4:before {
      display: block;
      content: '';
      width: 1rem;
      height: 4px;
      background: #dcdbdb;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate3d(0, -50%, 0);
      margin-top: 0.375rem;
      border-radius: 100px; }
  #Contents_area h5 {
    padding-top: 0.75rem;
    font-size: 1.25rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin: 1.75rem 0; }
  #Contents_area table {
	margin:1.75rem 0;
    border-top: 3px solid rgba(34, 34, 34, 0.1);
    border-bottom: 3px solid rgba(34, 34, 34, 0.1);
    width: 100%; }
    #Contents_area table tr:first-child tr.bold {
      border-width: 3px;
      padding: 0.75rem 0; }
    #Contents_area table th,
	#Contents_area table td {
      border-bottom: 1px solid rgba(34, 34, 34, 0.1);
      border-right: 1px solid rgba(34, 34, 34, 0.1);	  
      padding: 0.7rem 1rem; }  
    #Contents_area table th:last-child,
	#Contents_area table td:last-child{
		border-right: none;
		
		}
	
    #Contents_area table th {
      font-weight: bold;
      text-align: left;
      /* width: 20%; */ }
  #Contents_area ul{ margin:1.75rem 0; }
  #Contents_area ul li, #Contents_area ol li {
    position: relative;
    line-height: 1.6;
    margin-bottom: 0.625rem;
    padding-left: 1.25rem;
	font-size:1.1rem;}
    #Contents_area ul li:before, #Contents_area ol li:before {
      display: block;
      content: '';
      width: 0.5rem;
      height: 0.5rem;
      background: #cf121c;
      position: absolute;
      top: 0.65rem;
      left: 0;
      border-radius: 100px; }
  #Contents_area .kakoi {
    position: relative;
    padding: 3.25rem 3.25rem;
    box-sizing: border-box; }
    #Contents_area .kakoi:before {
      display: block;
      content: '';
      width: 100%;
      height: 100%;
      border: 3px solid rgba(34, 34, 34, 0.1);
      position: absolute;
      top: 0;
      left: 0; }
	  
  #Contents_area .colum2 {
    display: flex;
    justify-content: space-between; }
    #Contents_area .colum2 > div {
      width: 50%; }
      #Contents_area .colum2 > div figure {
        text-align: right; }
      #Contents_area img.right_img {
		margin: 0 0 3rem 3rem;
        border-radius: 0.75rem;
        height: auto; 
		float:right;}
  #Contents_area .clr{ clear:both!important;}
		
/* 強調 */
	#Contents_area .red { color: #bd0711;}
	#Contents_area .yellow { background: linear-gradient(transparent 70%, yellow 70%); }
		
/* FAQ */
	#Contents_area .faq {}
	#Contents_area .faq h3 { margin:0 0 30px!important; padding-left:50px; position:relative;}
	#Contents_area .faq p { margin-bottom:30px; padding-left:50px; position:relative; position:relative;}

		#Contents_area .faq h3:before,#Contents_area .faq p:before { width:40px; height:40px; border-radius:20px; margin:10px 10px 0 0; position:absolute; left:0; font-size:24px; font-weight: bold; color:#fff; text-align:center; }
		
		#Contents_area .faq h3:before{ content: "Q"; background-color:#cf121c; top:50%;}
		#Contents_area .faq h3+p:before{ content: "A"; background-color:#3f3f3f; top:calc(50% - 30px); position:absolute; line-height:1.5;}


/* 解決事例 */

	#Contents_area .comment { margin: 0 0 6.25rem 13rem;	padding:1.5rem 2rem 0.01rem 2rem; position: relative;	background: #e5e5e5; border-radius: 1rem; font-size: 1.7rem; font-weight:600; }
	
	#Contents_area .comment:before{	content:"";	width: 9.05rem;	height: 10.65rem;	background: url(../images/faceIcon.png) 0 0 / 100% 100%; position: absolute; left: -13rem; top: 0;	}
	
	#Contents_area .comment:after{	content: "";	position: absolute;	top: 3rem;	left: -1.7rem; 	border: 1rem solid transparent;	border-right: 15px solid #e5e5e5;}


	#Contents_area .caseSingleBox{ background: #fff; border-radius: 1rem; position:relative; padding: 1rem 2rem;margin-bottom: 2.75rem;}
		#Contents_area .caseSingleBox h3{ margin-bottom: 1.5rem; font-size: 1.6rem; }
		#Contents_area .caseSingleBox p{ margin-bottom: 0.75rem;}

/* シンプル流れ  */

		#Contents_area .flow h3{ padding-left:0; font-size: 1.5rem; margin-bottom: 2.0rem;  padding-top: 0;}
			#Contents_area .flow h3:before{ display:none;}
			#Contents_area .flow h3 span{width: 4rem; margin:0 1rem 0 0; background:#bd0711;color: #fff;border-radius: 100px; display:inline-block; text-align:center;}
			
			
/* メリット横並び */
		#Contents_area .merit{ display: flex; gap: 2rem;}
			#Contents_area .merit .meritBox{ background: #fff; flex: 1; padding: 1.5rem 1.6rem 0; border-radius:1rem;}
			
				#Contents_area .merit .meritBox h3{ color: #bd0711; text-align:center;letter-spacing: 0; padding:0; font-size: 1.5rem; margin: 0 0 1rem;}
				#Contents_area .merit .meritBox h3:before { display:none; }
			

@media screen and (max-width: 736px) {
  #Contents_area {
    padding: 16vw 0 13.3333333333vw; }
    #Contents_area > div, #Contents_area > table, #Contents_area > ul, #Contents_area > ol {
      margin-bottom: 10.6666666667vw; }
	#Contents_area p{margin-bottom:3.7333333333vw;font-size: 1.6rem;}
    #Contents_area h2 {
      margin-bottom: 9.6vw;
      padding: 3.2vw 4.2666666667vw 3.2vw 8vw;
      font-size: 5.3333333333vw; }
      #Contents_area h2:before {
        left: 2.6666666667vw; }
    #Contents_area h3 {
      margin-bottom: 6.9333333333vw;
      padding-top: 2.6666666667vw;
      font-size: 4.8vw;
      padding-left: 4.8vw; }
      #Contents_area h3:before {
        width: 2.6666666667vw;
        margin-top: 1.3333333333vw; }
    #Contents_area h4 {
      margin-bottom: 5.3333333333vw;
      padding-top: 1.6vw;
      font-size: 4.2666666667vw;
      padding-left: 4.8vw; }
      #Contents_area h4:before {
        width: 2.6666666667vw;
        margin-top: 0.8vw; }
    #Contents_area h5 {
      padding-top: 1.6vw;
      font-size: 3.7333333333vw;
      margin-bottom: 3.7333333333vw; }
    #Contents_area pre {
      font-size: 3.2vw;
      letter-spacing: 0.05em; }
    #Contents_area table th, #Contents_area table td {
      padding: 0.45rem;
	  font-size: 1.4rem;}
    #Contents_area table th {
      font-weight: bold;
      text-align: left;
      /* width: 20%; */
      padding-right: 1.25rem; }
    #Contents_area ul li, #Contents_area ol li {
      margin-bottom: 1.3333333333vw;
      padding-left: 2.6666666667vw; 
      font-size: 1.6rem;}
      #Contents_area ul li:before, #Contents_area ol li:before {
        width: 1.3333333333vw;
        height: 1.3333333333vw;
        top: 1.1rem; }
    #Contents_area .colum2 {
      display: block; }
      #Contents_area .colum2 > div {
        width: 100%; }
        #Contents_area .colum2 > div figure {
          text-align: right;
          margin-top: 5.3333333333vw; }
        #Contents_area img.right_img {
          width: 100%;
		  margin:0 0 1.6rem;
		  float:none;
          border-radius: 1.6vw; } 
		
/*解決事例*/
	#Contents_area .comment { margin: 0 0 10.6666666667vw 11rem;line-height: 1.7;}
		#Contents_area .comment:after{left: -2.1rem;}
			#Contents_area .comment:before{	content:"";	width: 8.145rem; height: 9.585rem;left: -11rem;	}
			
	#Contents_area .flow h3{ font-size: 1.9rem; }
	
		#Contents_area .merit{ flex-wrap:wrap;}
			#Contents_area .merit .meritBox{ width: 100%; flex: inherit}
			
				#Contents_area .merit .meritBox h3{ text-align:center; margin: 0 0 1rem;font-size: 1.9rem;}
				#Contents_area .merit .meritBox h3:before { display:none; }
	
	
	

}
