@charset "utf-8";

/*******************************
/* リセット
*******************************/
/*html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-weight: normal;
}*/

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
.inheritedContents :where(ol, ul) {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.object-fit-img {
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;'
}
*{margin:0;padding:0;vertical-align: baseline;}
body{
/* font-family: dnp-shuei-mgothic-std, sans-serif; */

font-weight: 400;

font-style: normal;
color: #303030;
font-size: 16px;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
}


a{color: #303030;text-decoration:none;transition: all 300ms ease-out 0s;
    will-change: transform;}
a:hover{color:#1a76b2;}
a:active, a:focus {outline: 0;}
img{border:0; vertical-align:bottom;}
p{ line-height: 2.5; font-size: .9rem;}
.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}
.inheritedContents :where(li){ list-style:none;}
.en{font-family: 'Raleway', sans-serif;}

.none_pc{ display:none;}
.none_sp{ display: block;}
.tel {
    cursor: default;
    pointer-events: none;
}
.number{font-family: 'Lato', cursive;}
input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}
input {
  -webkit-appearance: none;
  border-radius: 0;
}

.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
@media screen and (max-width:767px) {
body{
font-size: 3.8vw;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
}
img{ width: 100%; }
.none_pc{ display: block;}
.none_sp{ display: none;}
.tel {
    pointer-events: auto;
}
}
/*******************************
/* 共通
*******************************/
.border-radius{ border-radius: 3px;}

.shutter {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, #123966 0%, #51c1f0 100%);
  z-index: 9999;
  -webkit-animation: byeShutter 2.6s forwards;
          animation: byeShutter 2.6s forwards;
}
.shutter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  width: 0;
  height: 1px;
  -webkit-animation: shutterOpen 2.6s forwards;
          animation: shutterOpen 2.6s forwards;
}

.content {
  -webkit-animation: contentScale 2.6s forwards;
          animation: contentScale 2.6s forwards;
}

@-webkit-keyframes byeShutter {
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}

@keyframes byeShutter {
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}
@-webkit-keyframes shutterOpen {
  0% {
    width: 0;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@keyframes shutterOpen {
  0% {
    width: 0;
    height: 1px;
  }
  50% {
    width: 100%;
    height: 1px;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-webkit-keyframes contentScale {
  70% {
    -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
            transform: perspective(800px) scale(0.9) rotateX(15deg);
  }
  100% {
    -webkit-transform: perspective(800px) scale(1) rotateX(0);
            transform: perspective(800px) scale(1) rotateX(0);
  }
}
@keyframes contentScale {
  70% {
    -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
            transform: perspective(800px) scale(0.9) rotateX(15deg);
  }
  100% {
    -webkit-transform: perspective(800px) scale(1) rotateX(0);
            transform: perspective(800px) scale(1) rotateX(0);
  }
}


/*******************************
/* ヘッダー
*******************************/
.hd_buy {
    text-align: center;
    text-decoration: none;
    display: block;
    color: #fff;
    position: relative;
    background: #3789ce;
    background: -moz-linear-gradient(left, #123966 0%, #51c1f0 100%);
    background: -webkit-linear-gradient(left, #123966 0%, #51c1f0 100%);
    background: linear-gradient(to right, #123966 0%, #51c1f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#123966', endColorstr='#51c1f0',GradientType=1 );
	padding: 0 35px;
}
.hd_buy::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 1s;
    transition-timing-function: ease;
    background: #55beff;
    background: -moz-linear-gradient(left, #51c1f0 1%, #123966 100%);
    background: -webkit-linear-gradient(left, #51c1f0 1%, #123966 100%);
    background: linear-gradient(to right, #51c1f0 1%, #123966 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#51c1f0', endColorstr='#123966',GradientType=1 );
}
.hd_buy:hover::before{opacity:1}
.hd_buy a{ color: #fff;}
.hd_trial{ position: absolute;}

@media screen and (max-width:767px) {
	
.menu-trigger_oya{ position: fixed; right:2%; top:3px; z-index:11;width: 50px; height: 50px;transition: all .3s ease-in-out;}
.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger {
    position: relative;
	top:14px;
	right:-12px;
    width: 25px;
  height: 20px;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #212121;
    border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
  background-color:#212121;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}
.hd_buy {
	margin-top: 10vw;
}
	.hd_tel{ padding-top: 40px; text-align: center;}
	.hd_tel a{ font-size: 7vw;}
	
}
/*******************************
/* メインビジュアル
*******************************/
.main_v{height:90vh;position:relative;background-size:cover;box-sizing:border-box;display: flex;justify-content: center;align-items: center;}
.main_v h2{ position: absolute; z-index: 3; left: 10%; }
.main_v h2 span{ display: block; font-size: 1.3rem;}
.main_v h2 span:nth-of-type(1){ font-size: 2.5rem;}
.main_v .main_v_btn{  display: inline-block; margin-top: 25px;}
.main_v .main_v_btn a{ padding: 8px 30px; display: inline-block;}
.main_v_animation {
  position: absolute;
  right: -50px;
  z-index: 2;
}
.main_v_animation img{ width: 55vw;}
.main_v:before {
    position: absolute;
    content: "";
    top: 0;
	right: 0;
    height: 100%;
    width: 60%;
    z-index: 1;
    background: linear-gradient(to right, #fc5c65 0%, #51c1f0 100%);
	background: #eef8ff;
    background-attachment: fixed;
}
#particles-js {
width: 60%;
height: 100%;
position: absolute;
top: 0;
left: 0;
bottom: 0;
display: block;
z-index: 3;
}
.main_v_scroll {
    position: absolute;
    left: 5%;
    bottom: -8%;
    font-weight: 300;
    letter-spacing: 2px;
    height: 45px;
    line-height: 120%;
    font-size: .8rem;
    z-index: 3;
    text-transform: uppercase;
}
.main_v_scroll span {
    display: inline-block;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    position: absolute;
    top: -70px;
    left: 1rem;
	color: #1a76b2;
}
.main_v_scroll:before {
    content: "";
    position: absolute;
    left: .5rem;
    top: 0;
    height: 0;
    width: 1px;
    background-color: #1a76b2;
    -webkit-animation: scroll 2s cubic-bezier(1,0,0,1) 1s infinite;
    animation: scroll 2s cubic-bezier(1,0,0,1) 1s infinite;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
@-webkit-keyframes scroll {
	0%{bottom:auto;top:0;height:0}50%{height:45px}100%{top:auto;bottom:0;height:0}
}
@keyframes scroll {
	0%{bottom:auto;top:0;height:0}50%{height:45px}100%{top:auto;bottom:0;height:0}
}

.underlayer_main_v{ height: 300px;  display: flex; align-items: center; padding: 0 10%;padding-top: 90px;background: #eef8ff;}
.underlayer_main_v h2{ font-size: 3rem; line-height: 1.5}
.underlayer_main_v h2 span{ display: block; font-size: 1rem;color: #1a76b2;}

.pankuzu{ padding-top: 10px; font-size: .9rem;}
.pankuzu .fa-angle-right{ padding:0 8px}
.pankuzu a{color: #1a76b2;}

@media screen and (max-width:767px) {
.main_v{height:150vw;position:relative;background-size:cover;box-sizing:border-box;display: flex;justify-content: center;align-items: center; padding-top: 90px;}
.main_v h2{ position: absolute; z-index: 3; left: 10%; top: 40vw;}
.main_v h2 span{ display: block; font-size: 4vw;}
.main_v h2 span:nth-of-type(1){ font-size: 6vw;}
.main_v .main_v_btn{  display: inline-block; margin-top: 25px;}
.main_v .main_v_btn a{ padding: 8px 30px; display: inline-block;}
.main_v_animation{ position: absolute; right: 3%; z-index: 3; bottom: 12vw;}
.main_v_animation img{ width: 70vw;}
.main_v:before {
    position: absolute;
    content: "";
    top: 0;
	right: 0;
    height: 100%;
    width: 80%;
    z-index: 1;
    background: linear-gradient(to right, #fc5c65 0%, #51c1f0 100%);
	background: #eef8ff;
    background-attachment: fixed;
}
#particles-js {
width: 60%;
height: 100%;
position: absolute;
top: 0;
left: 0;
bottom: 0;
display: block;
z-index: 3;
}

.underlayer_main_v{ height:50vw;  display: flex; align-items: center; padding: 0 10%;padding-top:50px;background: #eef8ff;}
.underlayer_main_v h2{ font-size: 6vw; line-height: 1.5}
.underlayer_main_v h2 span{ display: block; font-size: 3.5vw;color: #1a76b2;}

.pankuzu{ padding: 0 5%; padding-top: 10px; font-size:3.5vw;}
.pankuzu .fa-angle-right{ padding:0 8px}
.pankuzu a{color: #1a76b2;}
}
/*******************************
/* セクション・枠
*******************************/
.contents{ padding: 150px 0; position: relative;}
.contents_p_t_0{ padding:0 0 150px 0; position: relative;}
.inner{ margin: 0 auto; width: 1000px;}
.bg_left:before {
    position: absolute;
    content: "";
	bottom: 0;
	left: 0;
    height: 60%;
    width: 40%;
    z-index: -1;
    background: linear-gradient(to right, #51c1f0 1%, #123966 100%);
    background-attachment: fixed;
}
.bg_case_study:before {
    position: absolute;
    content: "";
	bottom: 0;
	left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
    background: url(images/case_bg.jpg) no-repeat;
	background-size: cover;
}
.bg_case_study::after{
    content: "";
    position: absolute;
    background-color: rgba(51,51,51,0.6);
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0;
}
.bg_case_study h2{ color: #fff !important;}
.bg_case_study h2 span{ color: #fff !important;}


.bg_flow:after {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height:100%;
    width:95%;
    z-index: -1;
    background: #eef8ff;
}
.bg_flow_02:after {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height:80%;
    width:95%;
    z-index: -1;
    background: #eef8ff;
}

.bg_top_contact:before {
    position: absolute;
    content: "";
    height:100%;
    width: 100%;
    z-index: -2;
	top: 0;
	left: -5%;
    background: url(images/top_contact_bg.png) no-repeat;
	 background-size:contain;
}
.bg_top_contact:after {
    position: absolute;
    content: "";
	bottom: 0;
	right: 0;
    height:100%;
    width: 100%;
    z-index: -1;
    background: linear-gradient(to right, #51c1f0 1%, #123966 100%);
	background: linear-gradient(to right, rgba(81, 193, 240, 0.8),  rgba(18, 57, 102, 0.8));
}

.bg_sevice:before {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height: 50%;
    width: 40%;
    z-index: -1;
    background:#eef8ff;;
}
@media screen and (max-width:767px) {
.contents{ padding: 100px 5vw; box-sizing: border-box; position: relative;}
.contents_p_t_0{ padding:0 5vw 100px 5vw; box-sizing: border-box; position: relative;}
.inner{ margin: 0 auto; width: 100%;}
.bg_left:before {
	bottom: 0;
	left: 0;
    height:30%;
    width:80%;
    z-index: -1;
}

.bg_flow:after {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height:100%;
    width:100%;
    z-index: -1;
    background: #eef8ff;
}
.bg_flow_02:after {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height:80%;
    width:100%;
    z-index: -1;
    background: #eef8ff;
}
.bg_top_contact:before {
    position: absolute;
    content: "";
    height:100%;
    width: 100%;
    z-index: -2;
	top: 50vw;
	left: -10%;
    background: url(images/top_contact_bg.png) no-repeat;
	 background-size: 150%;
}
.bg_top_contact:after {
    position: absolute;
    content: "";
	bottom: 0;
	right: 0;
    height:100%;
    width: 100%;
    z-index: -1;
    background: linear-gradient(to right, #51c1f0 1%, #123966 100%);
	background: linear-gradient(to right, rgba(81, 193, 240, 0.8),  rgba(18, 57, 102, 0.8));
}

.bg_sevice:before {
    position: absolute;
    content: "";
	bottom: 0%;
	right: 0;
    height: 80%;
    width: 60%;
    z-index: -1;
    background:#eef8ff;;
}
}
/*******************************
/* TOP
*******************************/
.flex_left_img{ display: flex; justify-content: space-between;align-items: center; flex-wrap: wrap;}
.flex_left_img_box{ width: 55%;}
.flex_left_img_box:nth-of-type(2){ width: 40%;}
.flex_left_img_box img{ width: 100%;}

.ability{}
.ability p{ text-align: center;}
.ability_to_do{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 40px;}
.ability_to_do_box{ width: 48%; position: relative;}
.ability_to_do_box:nth-of-type(n+3){ width: 31%; margin-top:60px;}
.ability_to_do_box img{ width: 100%; object-fit: cover; height: 400px;}
.ability_to_do_box:nth-of-type(n+3) img{height: 300px;}
.ability_to_do_box h3{ font-size: 1rem; padding-top: 10px; text-align: center;}
.ability_to_do_no{ position: absolute; display: block; font-size: 2rem; z-index: 1;background: linear-gradient(to right, #51c1f0 1%, #123966 100%); color:#fff; width: 80px; height: 80px; border-radius: 50%; text-align: center; line-height: 80px; }

.slick_slider{ width: 100%; }
.slick_slider .slick_slider_flex{  padding:0 3%; box-sizing: border-box;}
.slick_slider_flex_in{display: flex !important; justify-content: space-between; position: relative;align-items: center;background: #fff; padding: 60px; box-sizing: border-box; }
.slick_slider .slick_slider_flex_in .slick_slider_flex_box{ width: 60%;}
.slick_slider .slick_slider_flex_in .slick_slider_flex_box:nth-of-type(n+2){ width: 35%;}
.slick_slider_flex_box h3{ font-weight: bold; font-size: 1.6rem;}
.slick_slider_flex_box .industry{ padding-bottom: 20px; display: block;}
.slick_slider_flex_box ul li{ padding-bottom:10px;}
.slick_slider_flex_box ul li:last-child{ font-weight: bold; color: #1a76b2; font-size: 1.2rem;}
.slick_slider_flex_box ul li:first-child{}
.slick_slider_flex_box ul li::after {
  content: "";
  display: block;
	margin:10px auto 10px 30px;;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(135deg);
}
.slick_slider_flex_box ul li:last-child::after{ display: none;}
.rate{text-align: center;background: #f4f5f7; width: 15vw; height: 15vw; right: 0px; top: 0px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color: #fff; background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%); border-radius: 50%;}
.rate_in{ display: block;}
.rate em{ display: block; font-size: 5rem; line-height: 1;}
.rate em span{ display: inline-block; font-size: .9rem;}

.slide-arrow{ position: absolute; bottom: -80px; font-size: 2rem; color: #fff;}
.prev-arrow{ left: 10vw;transition: 0.6s ease-in-out;}
.next-arrow{ left: 20vw;transition: 0.6s ease-in-out;}
.prev-arrow:hover, .next-arrow:hover{ color: #1a76b2;}
/*.slick-slide{transform: scale( .75 );transition: 0.3s ease-in-out;}
.slick-active{transform: scale( 1 );}*/
.top_case{}

.flow{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.flow_box{ width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;background: #fff; }
.flow_box:nth-of-type(n+2){ margin-top: 40px;}
.flow_box_img{ width: 30%;}
.flow_box img{ width: 100%; height: 230px; object-fit: cover;}
.flow_text{  padding: 25px 35px; width: 70%; box-sizing: border-box;}
.flow_title{ display: block; font-weight: bold; padding: 0px 0 15px; font-size: 1.1rem;}
.flow_box p{ line-height: 1.5;}

.fqa{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.fqa_box{ width: 100%;}
.fqa_box:nth-of-type(n+2){ margin-top: 20px;}
.q_title{ display: flex; align-items: center; height: 80px; font-weight: bold; font-size: 1.3rem;color: #1a76b2; background: #eef8ff;padding: 0 94px 0 35px; box-sizing: border-box; position: relative;transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);}
.q_title:hover{ background: #f4f5f7;}
.a_box{ line-height: 1.5; display: none; border: 1px solid #f4f5f7; box-sizing: border-box; padding:30px 60px;}
.a_box ul{ line-height: 1.5; font-size: .9rem;}
.qa_icon {
    display: inline-block;
	position: absolute;
    right: 25px;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
}
.qa_icon:before, .qa_icon:after {
    -webkit-transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 3px;
    top: 50%;
    left: 50%;
    margin: -2px 0 0 -6.5px;
    background: #fc5c65;
    border-radius: 1.5px;
}
/* 2本の横棒のうち一本は縦棒にする */
.qa_icon:after  {
-webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  
  /*
  プラスがクリックされたら縦棒を横にしてマイナスにする疑似要素
  jQueryで付け外しを行う
  */
  .active::after {
    transform: rotate(0);
    transition: 0.5s;
}

.column{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.column::after{
  content:"";
  display: block;
  width:31%;
}
.column_box{ width: 31%;}
.column_box:nth-of-type(n+4){ margin-top: 40px;}
.column_box img{ width: 100%; height: 250px; object-fit: cover;}
.column_box .date {
  display: block;
  font-size: .65rem;
  padding: 5px 0 0 10px;
}
.column_box h3 {
  padding: 0 0 15px 10px;
  font-size: 13px;
}

.top_contact{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.top_contact_box{ text-align: center; color: #fff; box-sizing: border-box; padding: 40px 0;}
.top_contact_box:nth-of-type(1){ width: 55%; border-bottom: none;}
.top_contact_box:nth-of-type(2){ width:45%;}
.top_contact_box:nth-of-type(3){ width: 45%;}
.top_contact_box:nth-of-type(2){ border-left: 1px solid #fff;}
.top_contact_box h3{ font-size: 1.6rem; font-weight: bold; padding-bottom: 20px;}
.top_contact_box:nth-of-type(2) a{ font-size: 3rem; color: #fff;}
.top_contact_box:nth-of-type(n+2){}
.fa-phone{ padding-right: 10px;}
.reception_time{ display: block;}
.top_contact_box p{ margin-bottom: 20px;}
.top_contact_box .btn_red{ display: inline-block; margin-top:10px;}
.top_contact_box .btn_red a{  padding: 15px 50px; display: block; font-size: 1.2rem;}
.top_contact_box .btn_contact{ padding-top: 40px;}
.top_contact_box .btn_contact a{background: #fff;padding: 15px 50px;}

@media screen and (max-width:767px) {
.flex_left_img{ display: flex; justify-content: space-between;align-items: center; flex-wrap: wrap;flex-flow: row wrap;}
.flex_left_img_box{ width: 100%;order: 2;margin-top: 50px;}
.flex_left_img_box:nth-of-type(2){ width: 100%;order: 1;}
.flex_left_img_box:nth-of-type(1){ padding: 0 5%;}
.flex_left_img_box img{ width: 100%;}
	
.ability{}
.ability p{ text-align: center;}
.ability_to_do{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 40px;}
.ability_to_do_box{ width: 100%; position: relative;}
.ability_to_do_box:nth-of-type(n+2){ width:100%; margin-top:50px;}
.ability_to_do_box:nth-of-type(n+3){ width:100%; margin-top:50px;}
.ability_to_do_box img{ width: 100%; object-fit: cover; height: auto;}
.ability_to_do_box:nth-of-type(n+3) img{height: auto;}
.ability_to_do_box h3{ font-size:4vw; padding-top: 10px; text-align: center;}
.ability_to_do_no{ position: absolute; display: block; font-size:6vw; z-index: 1;background: linear-gradient(to right, #51c1f0 1%, #123966 100%); color:#fff; width: 15vw; height: 15vw; border-radius: 50%; text-align: center; line-height:15vw; }

.slick_slider{ width: 100%; }
.slick_slider .slick_slider_flex{  padding:0 3%; box-sizing: border-box;}
.slick_slider_flex_in{display: flex !important; justify-content: space-between; position: relative;align-items:stretch; flex-wrap: wrap; background: #fff; padding: 5%; box-sizing: border-box; }
.slick_slider .slick_slider_flex_in .slick_slider_flex_box{ width: 100%; }
.slick_slider .slick_slider_flex_in .slick_slider_flex_box:nth-of-type(n+2){ width: 100%; text-align: center;}
.slick_slider_flex_box h3{ font-weight: bold; font-size: 4.5vw;}
.slick_slider_flex_box .industry{ padding-bottom: 20px; display: block;}
.slick_slider_flex_box ul li{ padding-bottom:10px;}
.slick_slider_flex_box ul li:last-child{ font-weight: bold; color: #1a76b2; font-size: 1.2rem;}
.slick_slider_flex_box ul li:first-child{}
.slick_slider_flex_box ul li::after {
  content: "";
  display: block;
	margin:10px auto 10px 30px;;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(135deg);
}
.slick_slider_flex_box ul li:last-child::after{ display: none;}
.rate{text-align: center;background: #f4f5f7; width: 50vw; height: 50vw; right: 0px; top: 0px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color: #fff; background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%); border-radius: 50%;}
.rate_in{ display: block;}
.rate em{ display: block; font-size: 5rem; line-height: 1;}
.rate em span{ display: inline-block; font-size: .9rem;}

.slide-arrow{ position: absolute; bottom: -80px; font-size: 2rem; color: #fff;}
.prev-arrow{ left: 10vw;transition: 0.6s ease-in-out;}
.next-arrow{ left: 20vw;transition: 0.6s ease-in-out;}
.prev-arrow:hover, .next-arrow:hover{ color: #1a76b2;}
/*.slick-slide{transform: scale( .75 );transition: 0.3s ease-in-out;}
.slick-active{transform: scale( 1 );}*/
.top_case{}
	
.flow{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.flow_box{ width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;background: #fff; }
.flow_box:nth-of-type(n+2){ margin-top: 40px;}
.flow_box_img{ width: 100%;}
.flow_box img{ width: 100%; height: 230px; object-fit: cover;}
.flow_text{  padding: 25px 35px; width: 1000%; box-sizing: border-box;}
.flow_title{ display: block; font-weight: bold; padding: 0px 0 15px; font-size: 1.1rem;}
.flow_box p{ line-height: 1.5;}

.fqa{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.fqa_box{ width: 100%;}
.fqa_box:nth-of-type(n+2){ margin-top: 20px;}
.q_title{ display: flex; align-items: center; height: 80px; font-weight: bold; font-size: 3.8vw;color: #1a76b2; background: #eef8ff;padding: 0 10vw 0 5vw; box-sizing: border-box; position: relative;transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);}
.q_title:hover{ background: #f4f5f7;}
.a_box{ line-height: 1.5; display: none; border: 1px solid #f4f5f7; box-sizing: border-box; padding:5vw; font-size: 3.8vw}
.a_box ul{ line-height: 1.5; font-size: 3.6vw;}
.qa_icon {
    display: inline-block;
	position: absolute;
	top: 35%;
	right:3vw;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
}
.qa_icon:before, .qa_icon:after {
    -webkit-transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    transition: all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 3px;
    top: 50%;
    left: 50%;
    margin: -2px 0 0 -6.5px;
    background: #fc5c65;
    border-radius: 1.5px;
}
/* 2本の横棒のうち一本は縦棒にする */
.qa_icon:after  {
-webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  
  /*
  プラスがクリックされたら縦棒を横にしてマイナスにする疑似要素
  jQueryで付け外しを行う
  */
  .active::after {
    transform: rotate(0);
    transition: 0.5s;
}

.column{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.column::after{
  content:"";
  display: none;
}
.column_box{ width: 100%;}
.column_box:nth-of-type(n+2){ margin-top: 40px;}
.column_box img{ width: 100%; height: 60vw; object-fit: cover;}
.column_box .date{ display: block; font-size: .85rem; padding: 10px 0 0px;}

.top_contact{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.top_contact_box{ text-align: center; color: #fff; box-sizing: border-box; padding: 0px;}
.top_contact_box:nth-of-type(1){ width: 100%; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #fff;}
.top_contact_box:nth-of-type(2){ width:100%;}
.top_contact_box:nth-of-type(3){ width:100%;}
.top_contact_box:nth-of-type(2){ border-left: none;}
.top_contact_box h3{ font-size:6vw; font-weight: bold;}
.top_contact_box:nth-of-type(2) a{ font-size: 8vw; color: #fff;}
.top_contact_box:nth-of-type(2){ padding: 0px 0 0px 0;margin-bottom: 0px;}
.top_contact_box:nth-of-type(3){ padding: 0px 0 0px 0;margin-bottom: 0px;}
.fa-phone{ padding-right: 10px;}
.reception_time{ display: block;}
.top_contact_box p{ margin-bottom: 20px;}
.top_contact_box .btn_red{ display: inline-block; margin-top: 2px;padding: 0 0px; width: 100%;}
.top_contact_box .btn_red a{  padding: 15px 0px; display: block; font-size: 4vw;}
.top_contact_box .btn_contact{ padding-top: 0px; width: 100%;}
.top_contact_box .btn_contact a{background: #fff;padding: 15px 0px; width: 100%; display: block;}
}

/*******************************
/* 見出し
*******************************/
h2.contents_title{ text-align: center;font-weight: bold; font-size: 2rem; margin-bottom: 40px;}
h2.contents_title span{ display: block;color: #1a76b2; font-size: .9rem;}
h2.flex_box_title{ font-weight: bold; font-size: 2rem; margin-bottom: 40px;}
h2.flex_box_title span{ display: block;color: #1a76b2; font-size: .9rem;}
@media screen and (max-width:767px) {
h2.contents_title{ text-align: center;font-weight: bold; font-size:6vw; margin-bottom: 40px;}
h2.contents_title span{ display: block;color: #1a76b2; font-size: 3.2vw;}
h2.flex_box_title{ font-weight: bold; font-size:6vw; margin-bottom: 30px;}
h2.flex_box_title span{ display: block;color: #1a76b2; font-size:3.2vw;}
}

/*******************************
/* 下層ページ
*******************************/
.service_01{ display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
.service_01_box{ width:40%;}
.service_01_box:nth-of-type(n+2){ width:55%;}
.service_01_box img{ width: 100%;}

.service_02{ padding-top: 50px;}
.service_02 ul{ padding-bottom: 25px;}
.service_02 ul li{ font-weight: bold; font-size: 1.1rem;}
.fa-check-square{ color: #fc5c65}
.service_02 p:nth-of-type(n+2){ padding-top: 20px;}

.support{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.support_box{ width: 30%;}
.support_box:nth-of-type(n+4){ margin-top: 40px;}
.support_img{ position: relative; padding: 0 40px; box-sizing: border-box;}
.support_img img{ width: 100%; margin-bottom: -50px;}
.support_text{ background: #eef8ff;padding: 57px 40px 50px;}
.support_box h3{ font-weight: bold; text-align: center; font-size: 1.1rem; padding-bottom: 20px; letter-spacing: 1px;}
.support_box p{ line-height:2;}

.forte{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-bottom: 40px;}
.forte_box{ width: 55%;}
.forte_box:nth-of-type(2){width: 40%;}
.forte_box:nth-of-type(1) h3{ color: #1a76b2;}
.forte_box h3{ text-align: center; font-weight: bold; font-size: 1.2rem; padding-bottom: 20px;}
.forte_box ul{ border: 1px solid #E1E8ED; padding: 40px; box-sizing: border-box;background: #eef8ff; }
.forte_box:nth-of-type(n+2) ul{ background: #f6f6f6;}
.forte_box:nth-of-type(1) ul li{ color: #1a76b2; font-weight: bold; font-size: 1.1rem;}
.forte_box ul li:nth-of-type(n+2){ padding-top: 10px;}
.forte_box ul li span{ display: block; font-size: .8rem;}
.point{ display:flex; justify-content: space-between; flex-wrap: wrap; margin-top: 20px;}
.point_box{ background: #fff; width: 48%; padding: 20px 25px; box-sizing: border-box;}
.point_box h4{ text-align: center; font-weight: bold; letter-spacing: 0px; padding-bottom: 10px;color: #1a76b2;}
.point_box p{ line-height: 2; text-align: center; font-size: .8rem;}

.introduction{ padding-bottom: 150px;}
.introduction table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.introduction table th{ width: 20%; border-bottom: 1px solid #303030; padding: 30px 0; text-align: left; vertical-align: middle; font-weight: bold;}
.introduction table td{ width: 35%;border-bottom: 1px solid #ccc;padding: 30px 0; text-align: center;vertical-align: middle;}
.introduction table td:nth-of-type(2){ width:10%;color: #1a76b2;}
.introduction table td span{ display: block;}

.comparison{ }
.comparison table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width:100%;
  table-layout: fixed;
}

.comparison table tr {
  background-color: #fff;
  padding: .35em;
  border: 2px solid #eee;
	
}
.comparison table tr:last-child{

}
.comparison table th{
  padding: 2em;
  border-right: 2px solid #fff;
	text-align: center;
	vertical-align: middle;
}
.comparison table td {
  padding: 2em .5em;
  border-right: 2px solid #eee;
  text-align: center;
}
.comparison table th {
}
.comparison table thead tr{
  background-color: #50535d;

  color:#fff;
}
.comparison table tbody th {
    border-right: 2px solid #eee;
}
.comparison th.non {
    border-right: none;
}

.price{
  color: #000;
  font-weight: bold;
  font-size:1.3em
}
.price span {
    font-size: .6em;
}
.red_bk{
  background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%);
}
.red-txt{
  color:#e81010
}


@media screen and (max-width:767px) {
	.service_01_box{ width:100%;}
	.service_01_box:nth-of-type(n+2){ width:100%; padding-top: 30px;}
	
	.service_02{ padding-top: 50px;}
	.service_02 ul{ padding-bottom: 25px;}
	.service_02 ul li{ font-weight: bold; font-size: 4vw;}
	.service_02 ul li:nth-of-type(n+2){ padding-top: 10px;}
	.fa-check-square{ color: #fc5c65}
	.service_02 p:nth-of-type(n+2){ padding-top: 20px;}
	
	.support_box{ width:100%;}
	.support_box:nth-of-type(n+2){ margin-top: 30px;}
	.support_img{ position: relative; padding: 0 40px; box-sizing: border-box;}
	.support_img img{ width: 100%; margin-bottom: -10vw;}
	.support_text{ background: #eef8ff;padding: 10.5vw 8vw 10vw; height:auto;}
	.support_box h3{ font-weight: bold; text-align: center; font-size:4.5vw; padding-bottom: 20px; letter-spacing: 1px;}
	.support_box p{ line-height:2;}
	
.forte_box{ width: 100%;}
.forte_box:nth-of-type(2){width:100%; padding-top: 40px;}
.forte_box:nth-of-type(1) h3{ color: #1a76b2;}
.forte_box h3{font-size: 5vw;}
.forte_box ul{padding: 10vw 8vw 10vw; }
.forte_box:nth-of-type(1) ul li{font-size: 4vw;}
.forte_box ul li span{ display: block; font-size: 3vw;}
.point{ display:flex; justify-content: space-between; flex-wrap: wrap; margin-top: 20px;}
.point_box{ background: #fff; width: 100%; padding: 20px 25px; box-sizing: border-box;}
	.point_box:nth-of-type(n+2){ margin-top: 20px;}
.point_box h4{ text-align: center; font-weight: bold; letter-spacing: 0px; padding-bottom: 10px;color: #1a76b2;}
.point_box p{ line-height: 2; text-align: center; font-size: .8rem;}

	
.introduction{ padding-bottom: 150px;}
.introduction table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.introduction table th{ width: 100%; border-bottom: 1px solid #303030; padding: 30px 0; text-align:center; vertical-align: middle; font-weight: bold; display: block;}
.introduction table td{ width: 100%;border-bottom: none;padding: 30px 0; text-align: center;vertical-align: middle;display: block;}
.introduction table td:nth-of-type(2){ width:100%;color: #1a76b2; padding: 0px 0;}
	.introduction table td:nth-of-type(3){border-bottom: 1px solid #ccc;}
.introduction table td span{ display: block;}

.comparison{ }
.comparison table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width:100%;
  table-layout: fixed;
}

.comparison table tr {
  background-color: #fff;
  padding: .35em;
  border: 2px solid #eee;
	
}
.comparison table tr:last-child{

}
.comparison table th{
  padding: 2em;
  border-right: 2px solid #fff;
	text-align: center;
}
.comparison table td {
  padding: 2em .5em;
  border-right: 2px solid #eee;
  text-align: center;
}
.comparison table th {
  font-size: .85em;
}
.comparison table thead tr{
  background-color: #50535d;

  color:#fff;
}
.comparison table tbody th {
    border-right: 2px solid #eee;
}
.comparison th.non {
    border-right: none;
}

.price{
  color: #000;
  font-weight: bold;
  font-size:1.3em
}
.price span {
    font-size: .6em;
}
.red_bk{
  background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%);
}
.red-txt{
  color:#e81010
}

}
/*******************************
/* テーブル
*******************************/
.normal table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.normal table th{ width: 20%; border-bottom: 1px solid #303030; padding: 30px 0; text-align: left; vertical-align: middle; font-weight: bold;}
.normal table td{ width: 80%;border-bottom: 1px solid #ccc;padding: 30px 0;}

.contact table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.contact table th{ width: 20%; border-bottom: 1px solid #303030; padding: 30px 0; text-align: left; vertical-align: middle; font-weight: bold;}
.contact table td{ width: 80%;border-bottom: 1px solid #ccc;padding: 30px 0;}
@media screen and (max-width:767px) {
	.normal table th{ width:100%; display: block; border-bottom: none; padding:20px 0 0 0; font-weight: bold; font-size: 4.1vw;}
	.normal table td{ width:100%; display: block; border-bottom: 1px solid #ccc; padding: 0 0 20px 0;}
}

/*******************************
/* フッター
*******************************/

/*******************************
/* ボタン
*******************************/
.btn_center{text-align: center; padding-top: 40px;}

.btn_blu {
    text-align: center;
    text-decoration: none;
    display: inline-block;
    color: #fff;
    position: relative;
    background: #3789ce;
    background: -moz-linear-gradient(left, #123966 0%, #51c1f0 100%);
    background: -webkit-linear-gradient(left, #123966 0%, #51c1f0 100%);
    background: linear-gradient(to right, #123966 0%, #51c1f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#123966', endColorstr='#51c1f0',GradientType=1 );
	padding: 8px 40px;
	 margin-top: 40px;
}
.btn_blu::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 1s;
    transition-timing-function: ease;
    background: #55beff;
    background: -moz-linear-gradient(left, #51c1f0 1%, #123966 100%);
    background: -webkit-linear-gradient(left, #51c1f0 1%, #123966 100%);
    background: linear-gradient(to right, #51c1f0 1%, #123966 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#51c1f0', endColorstr='#123966',GradientType=1 );
}
.btn_blu:hover::before{opacity:1}
.btn_blu a{color: #fff; position: relative; z-index: 1;}

.btn_red{
    text-align: center;
    text-decoration: none;
    display: block;
    color: #fff;
    position: relative;
    background: #fc5c65;
    background: -moz-linear-gradient(left, #fc5c65 0%, #f7adb2 100%);
    background: -webkit-linear-gradient(left, #fc5c65 0%, #f7adb2 100%);
    background: linear-gradient(to right, #fc5c65 0%, #f7adb2 100%);
}
.btn_red a{
	padding-left:2em;
	padding-right:2em;
}

/* ----------------------------------------------------------------------
Button 修正　CSS
---------------------------------------------------------------------- */
/* .btn_red_new a {
	padding-left:0;
	padding-right:0;
}

.btn_red_new {
	padding-top:1.3em;
	padding-bottom:1.3em;
}
@media screen and (max-width: 765px) {
	.bg_top_contact, .btn_red_new a {
		padding-top: 0!important;
		padding-bottom: 0!important;
	}
	.btn_red_new {
	padding-top:1em;
	padding-bottom:1em;
}
} */

/* .bg_top_contact_btn div　a {
	padding-left: 0!important;
	padding-right: 0!important;
}
.bg_top_contact_btn div {
	padding-top:1.3em!important;
	padding-bottom:1.3em!important;
}
@media screen and (max-width: 765px) {
	.bg_top_contact_btn div　a {
		padding-top: 0!important;
		padding-bottom: 0!important;
	}
	.bg_top_contact_btn div {
	padding-top:1em!important;
	padding-bottom:1em!important;
}
} */

/* ----------------------------------------------------------------------
Button 修正　CSS
---------------------------------------------------------------------- */

.btn_red::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 1s;
    transition-timing-function: ease;
    background: #fc5c65;
    background: -moz-linear-gradient(left, #f7adb2 1%, #fc5c65 100%);
    background: -webkit-linear-gradient(left, #f7adb2 1%, #fc5c65 100%);
    background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%);
}
.btn_red:hover::before{opacity:1}
.btn_red a{color: #fff; position: relative; z-index: 1;}

/* .fa-chevron-circle-right{ padding-left: 10px;} */
.fa-chevron-circle-right{margin-left: .5em;}

.fade-in{position:relative;opacity:0;-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px);-webkit-transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,transform 1s ease;transition:opacity 2s ease,transform 1s ease,-webkit-transform 1s ease}
.fade-in.is-active{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}
@media screen and (max-width:767px) {
.btn_center{text-align: center; padding-top: 0px;}
}
/*******************************
/* 画像ホバーアニメーション
*******************************/
a .imgbox{ width:100%; display:block; overflow:hidden; position:relative;}
/*a .imgbox::before{
	content:"";
	position:absolute;
	background:rgb(0,0,0,0);
	width:100%;
	height:100%;
	z-index:1;
	transition: all .3s ease-out 0s;
}
a:hover .imgbox::before{
	background:rgb(0,0,0,0.30);
}
*/
a .imgbox img{transition: all .6s ease-out 0s !important;}
a:hover .imgbox img{ transform: scale(1.06);}

/*******************************
/* フォーム
*******************************/

.table_form{ padding-top:60px; max-width: 800px; width: 100%; margin: 0 auto;}
.table_form p{ text-align: center; padding-bottom: 60px; font-size: .9rem;}
.table_form table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}
.table_form th {
	display:block;
	width:100%;
    background: #fff;
    text-align: left;
	padding-bottom:10px;
}
.table_form td {
	display:block;
	width:100%;
    border-bottom: 1px solid #e5eaeb;
	margin-bottom:25px;
	padding-bottom:25px;
	border-bottom:1px solid #f2f2f2;
}
.table_form td a{ color: #1ba1e6; text-decoration:underline;}
.required{ display:inline-block; background:#1a76b2; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal; font-size: .85rem;}

.table_form input[type="text"], input[type="url"], .table_form input[type="tel"], .table_form input[type="email"], .table_form select, .table_form textarea {
    box-sizing:border-box;
	background:#f5f7f8;
    border: 1px solid #bbb;
    border-radius: 3px;
    padding: 20px 20px;
    width: 100%;
}
.table_form input[type="date"]{
	background:#f5f7f8;
	border: 1px solid #bbb;
	padding: 20px 20px;
	 border-radius: 3px;
}
.table_form select{ height: 55px; width: 40%;padding: 0px 20px;}
input[type="file"] {width:100%;}
.file-226, .file-227{ display:block; margin-top:10px;}

input[type=checkbox], input[type=radio] {
    background-color: initial;
    cursor: default;
    -webkit-appearance: checkbox;
    box-sizing: border-box;
    margin: 3px 3px 3px 4px;
    padding: initial;
    border: initial;
    display: inline-block;
    width: auto;
}

.wpcf7-submit, .wpcf7-confirm, .wpcf7-back {
    padding: 0 20px 0 20px;
    text-align: center;
	width:350px;
	height:50px;
	cursor:pointer;
	border: none;
	color:#fff;
	margin:0 10px;
	font-size:1rem;
	border-radius: 30px !important;
	display: inline-block;
}
.wpcf7-submit{background: linear-gradient(to right, #f7adb2 1%, #fc5c65 100%);}

.wpcf7c-conf-hidden{background: none !important;border: none !important;}
.wpcf7c-conf {
    background-color: #f8f5ee !important;
}


.wpcf7-not-valid-tip {
	margin-top:10px;
}
.wpcf7-list-item-label{
	padding-right:10px;
}
.submit{
	text-align:center;
}
div.wpcf7 .ajax-loader {
	display:none !important;
}

.checkbox-988 .wpcf7-list-item:nth-of-type(1){ white-space: pre ;}
@media screen and (max-width: 768px) {
.table_form p{ padding-bottom: 60px; font-size: 3vw;}
.table_form table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}
.table_form th {
	display:block;
    border-bottom: none;
    padding:0;
	padding-bottom:8px;
    background: #fff;
    text-align: left;
    width: 100%;
	box-sizing:border-box;
}
.table_form td {
	display:block;
	width:100%;
    border-bottom: 1px solid #e5eaeb;
    padding: 0;
	box-sizing:border-box;
	padding-bottom:20px;
	margin-bottom:20px;
}

.required_buy{ display:inline-block; background:#00AECA; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal;}
.required_sale{ display:inline-block; background:#f0ac00; color:#fff; padding:2px 10px 0 10px; margin-left:10px; border-radius: 3px; font-weight:normal;}
.attention{ display:block; margin-left:0px; font-weight:normal;}

.table_form input[type="text"], .table_form input[type="tel"], .table_form input[type="email"], .table_form select, .table_form textarea {
    box-sizing:border-box;
    border-radius: 3px;
    padding: 20px 20px;
    width: 100%;
	font-size: 16px;
}
.table_form input[type="date"]{
	width: 60%;
	padding: 0px 20px;
	font-size: 16px !important;
	height: 55px;
}
.wpcf7-submit, .wpcf7-confirm, .wpcf7-back {
    border-radius: 5px;
    padding: 0 20px 0 20px;
    text-align: center;
	width:70vw;
	height:50px;
	cursor:pointer;
	border: none;
	color:#fff;
	margin:10px 0px;
	font-size:3.6vw;
}
.submit_buy .wpcf7-submit{background: #00AECA;box-shadow: 0 -3px 0 #00468C inset;}
.submit_buy .wpcf7c-elm-step1{background: #00AECA;box-shadow: 0 -3px 0 #00468C inset;}
.submit_buy .wpcf7-back{background: #293337;box-shadow: 0 -3px 0 #111 inset;}

.submit_sale .wpcf7-submit{background: #f0ac00;box-shadow: 0 -3px 0 #D96D00;}

.wpcf7c-conf-hidden{background: none !important;border: none !important;}
.wpcf7c-conf {
    background-color: #f8f5ee !important;
}


.wpcf7-not-valid-tip {
	margin-top:10px;
}
.wpcf7-list-item-label{
	padding-right:10px;
}
.submit{
	text-align:center;
}
div.wpcf7 .ajax-loader {
	display:none !important;
}
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*******************************
/* ページネーション
*******************************/


.column_single{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.column_single_box{ width: 40%;}
.column_single_box:nth-of-type(2){ width: 57%;}
.column_single_box img{ width:auto; max-width: 100%; height: auto;}
.column_single_box:nth-of-type(1) h2{ font-weight: bold; font-size: 1.6rem;}
.column_single_box:nth-of-type(1) h2 span{ display: block; font-size: 1rem; color: #ccc;}
.column_single_img img{ padding-bottom: 40px;}
.column_single_text h2{ font-weight: bold; font-size: 1.6rem; padding: 10px 25px; background: #eef8ff; margin-bottom: 40px;}
.column_single_text h3{ font-weight: bold; font-size: 1.4rem; margin-top: 40px; margin-bottom: 40px; padding: 2px 20px; border-left: 5px solid #303030;}
.column_single_text h4{ font-weight: bold; font-size: 1.1rem; margin-top: 40px; margin-bottom: 40px; }
.column_single_text img{ padding-bottom: 40px;}
@media screen and (max-width: 768px) {
.column_single_box{ width: 100%; padding-bottom: 40px;}
.column_single_box:nth-of-type(2){ width:100%;}
	.column_single_box:nth-of-type(1) h2{ font-weight: bold; font-size:6vw;}
	.column_single_box:nth-of-type(1) h2 span{ display: block; font-size: 3.2vw; color: #ccc;}
	.column_single_text h2{ font-weight: bold; font-size: 6vw; padding: 10px 25px; background: #eef8ff; margin-bottom: 40px;}
	.column_single_text h3{ font-weight: bold; font-size: 5vw; margin-top: 40px; margin-bottom: 40px; padding: 2px 20px; border-left: 5px solid #303030;}
.column_single_text h4{ font-weight: bold; font-size: 4.5vw; margin-top: 40px; margin-bottom: 40px; }
}

.top_seminar_link a{box-shadow: 0 3px 10px rgb(29 131 210 / 20%); display: block; width: 100%; padding: 20px; box-sizing: border-box;border-radius: 10px;background-color: #f5ff00;
}
.top_seminar_link a h2{ font-size: 1.3rem; text-align: center; margin-bottom: 10px; font-weight: bold;}
.top_seminar_link a span{ display: block; text-align: center;font-weight: bold;}
.top_seminar_link a span .fa-angle-right{ margin-right: 10px;}
.top_seminar_link a span .fa-angle-left{ margin-left: 10px;}
@media screen and (max-width: 768px) {
    .top_seminar_link a{padding: 5vw; }
    .top_seminar_link a h2{ font-size:4.3vw;}
    .top_seminar_link a span{ font-size: 3.6vw;}
    .top_seminar_link a span .fa-angle-right{ margin-right: 1.5vw;}
    .top_seminar_link a span .fa-angle-left{ margin-left: 1.5vw;}
}