@charset "UTF-8";
/* CSS Document */
body{
	margin:0;
	padding:0;
	color:#333333;
	background:#fff url("http://dental.linkwin.jp/wp-content/uploads/2025/05/kv_bg.jpg") center top no-repeat;
	font-size:16px;
	font-weight:500;
	line-height: 1.56;
	overflow-x:hidden;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.en{
	font-family: 'Poppins', sans-serif;
}

body.open, body.modaal-noscroll{
	overflow: hidden;
}
input, textarea {
    border-radius: 0;
    outline: none;
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:16px;
    -webkit-border-radius : 0;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}

img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

a {
	color:#333;
	text-decoration:none;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	text-decoration:none;
}
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	justify-content: center;
}
.flex_wrap_middle{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	align-items: center;
}

.sp{display:none !important;}
.note{font-size:87.5%;font-weight: 400;}


/************************
header
************************/
header{
	position: fixed;
	width: 100%;
	z-index: 1000;
	transition: all 0.3s ease-in-out 0s;
}
header.fix{
}
header .logo{
	width: 260px;
}
.inner_header{
	margin: auto;
	width: 100%;
	align-items: center;
	padding-left: 20px;
}
.gnav{
	gap:15px;
	transition: all 0.3s ease-in-out 0s;
}
body.open .gnav {
	opacity: 1;
	pointer-events: all;
  }
.ht_wrap{
	gap:10px;
}
.label_hd{
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #3093c1;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	display: grid;
	place-content: center;
}
.gnav a:hover{
	opacity: .5;
}

.hd_tel{
	gap:5px;
	align-items: center;
}
.hd_tel p{
	font-size: 12px;
	line-height: 1;
}
.hd_tel p span{
	font-size: 24px;
	display: block;
	font-weight: 600;
}
.btn_hd{
}
.btn_hd a{
	display: block;
	font-size: 14px;
	padding: 19px;
	background: #ffe752;
	text-align: center;
	border-radius: 0 0 0 20px;
	position: relative;
	width: 200px;
}
.btn_hd a::after{
	position: absolute;
	display: block;
	content: '';
	width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    bottom: 0;
	top: 0;
	margin: auto;
    right: 20px;
    transition: all 0.3s ease-in-out 0s;
}
/************************
btn
************************/
.btn{
	width: 100%;
	max-width: 400px;
	margin: auto;
}
.btn a{
	display: block;
	text-align: center;
	padding: 24px;
	background: #ffe752;
	border-radius: 100vh;
	position: relative;
	font-weight: 900;
	font-size: 18px;
}
.btn a::after{
	position: absolute;
	display: block;
	content: '';
	width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    bottom: 0;
	top: 0;
	margin: auto;
    right: 30px;
    transition: all 0.3s ease-in-out 0s;
}
.btn a:hover{
	opacity: .5;
}
.sec_def .btn{
	margin-top: 40px;
}

/************************
menu btn
************************/
.menu_btn{
	display:none;
    position: fixed;
	width: 50px;
	height: 50px;
	text-align: center;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
    z-index: 101;
	background: #ffe752;
	top: 0;
	right: 0;
	border-radius:0 0 0 5px;
}
.sp_nav_btn{
	width: 100%;
	height: 100%;
	z-index: 1000;
	text-align: center;
	position: relative;
}
#panel-btn{
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: auto;
  position: absolute;
  top:0;
  bottom:0;
  left: 0;
  right: 0;
}
#panel-btn:hover{
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom:0;
  right:0;
  width: 100%;
  height: 3px;
  margin: auto;
  background: #fff;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 3px;
  background: #fff;
  transition: .5s;
}
#panel-btn:hover #panel-btn-icon, #panel-btn:hover #panel-btn-icon:before, #panel-btn:hover #panel-btn-icon:after{
}
#panel-btn-icon:before{
  margin-top: -10px;
}
#panel-btn-icon:after{
  margin-top: 8px;
}
#panel-btn .close, #panel-btn:hover #panel-btn-icon.close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#panel-btn .close:after{
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

/************************
mv
************************/
.kv{
	padding: 100px 0 70px;
}
.kv .inner_kv{
	margin: auto;
	width: 88%;
	max-width: 1000px;
}
.kv_cnt{
	width: 64%;
}
.kv_lead{
	margin-bottom: 20px;
}
.kv_lead span{
	font-size: 18px;
	display: inline-block;
	background: #3093c1;
	color: #fff;
	padding: 5px 10px;
	font-weight: 700;
}
.kv_cnt h1{
	font-size: 48px;
	line-height: 1.4;
	margin-bottom: 0px;
	letter-spacing: 4px;
}
.kv_pic_area{
	width: 103.75%;
}
.kv_pic_area figure{
}


.kv_form{
	width: 30%;
}
.kv_fm_inner{
	border-radius: 10px;
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.14);
	background: #fff;
	padding: 0 20px 20px;
}
.kv_fm_inner h2{
	text-align: center;
	background: #65c6e1;
	padding: 10px;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	border-radius: 0 0 20px 20px;
	margin-bottom: 16px;
}

.sec_logo_area{
	margin-bottom: 84px;
}
.sec_logo_area h2{
	text-align: center;
	font-size: 20px;
	margin-bottom: 20px;
}
.sd_logo li figure{
	padding: 0 5px;
}

.sec_intro{
	padding-bottom: 80px;
}

.inner_1000{
	width: 88%;
	max-width: 1000px;
	margin: auto;
}
.intro_sub_ttl{
	text-align: center;
	margin-bottom: 20px;
}
.intro_sub_ttl span{
	background: #3093c1;
	padding: 5px 44px;
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	position: relative;
}
.intro_sub_ttl span::after{
	content: '';
    display: inline-block;
    width: 18px;
    height: 11px;
    margin: auto;
	background: #3093c1;
	clip-path: polygon(0 0, 50% 100%, 100% 0%);
	bottom: -10px;
	left: 0;
	right: 0;
	position: absolute;
}
.sec_intro h2{
	text-align: center;
	font-size: 36px;
	margin-bottom: 24px;
}
.list_prob{
	gap:40px;
	margin-top: 48px;
}

.sec_about{
	background: #d0eef6;
	padding: 80px 0;
}
.about_top{
	margin-bottom: 60px;
}
.about_cnt{
	width: 50.5%;
}
.about_cnt h2{
	font-size: 36px;
	margin-bottom: 24px;
}
.about_cnt h2 span{
	display: block;
	font-size: 20px;
}
.about_top figure{
	width: 46%;
}
.sec_about h3{
	font-size: 28px;
	margin-bottom: 90px;
	text-align: center;
}
.list_merit{
	gap:90px 30px;
}
.list_merit li{
	max-width: 300px;
	background: #fff;
	border-radius: 10px;
	padding: 1px 24px 24px;
}
.list_merit li i{
	text-align: center;
	display: block;
	margin-top: -60px;
}
.list_merit li h4{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
}

.def_sec{
	padding: 80px 0;
}
.def_sec h2{
	text-align: center;
	font-size: 36px;
	margin-bottom: 40px;
}
.def_sec h2 span{
	display: block;
	font-size: 20px;
	color: #3093c1;
}
.list_case{
	gap:40px;
}
.list_case li{	
	max-width: 480px;
	width: 100%;
}
.case_head{
	align-items: center;
	font-weight: 700;
}
.case_num{
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	color: #fff;
	background: #3093c1;
	padding: 6px 16px;
	border-radius: 10px 10px 0 0;
}
.case_clinic{
	padding-right: 10px;
	font-size: 14px;
}
.case_body{
	padding: 16px;
	background: #eaf4f9;
	border: 2px solid #3093c1;
	height: calc(100% - 40px);
}
.case_top{
	line-height: 1.2;
	font-weight: 700;
	padding-bottom: 16px;
	border-bottom: 2px solid #3093c1;
	gap:24px;
	margin-bottom: 16px;
	align-items: center;
}
.case_top.non_b{
	border-bottom: 0;
	margin-bottom: -50px;
}
.case_top .num_case{
	color: #e86c00;
}
.case_top .num_case span{
	font-family: "Montserrat", sans-serif;
	font-size: 50px;
	line-height: 1;
}
.case_p{
	font-size: 14px;
	margin-bottom: 20px;
}
.case_bottom{
	gap:20px;
}
.case_cnt{
	text-align: center;
	width: 130px;
}
.case_04_cnt{
	width: 210px;
	padding: 20px;
	align-items: center;
	background: #f5fafc;
}
.case_04_cnt img{
	vertical-align: middle;
	padding: 0 8px;
}
.label_case{
	background: #fff;
	padding: 2px 10px;
	color: #3093c1;
	font-size: 14px;
	margin-bottom: 10px;
	border-radius: 100vh;
}
.case_func{
	font-size: 14px;
	font-weight: 700;
	height: 6em;F
	display:flex;
	justify-content: center;
	align-items: center;
}
.case_func2{
	align-items: center;
	gap:16px;
}
.case_func p{
	line-height: 1.3;
}
.case_func img{
	vertical-align: middle;
}
.num_func{
	font-size: 18px;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
}
.num_func_02{
	font-size: 28px;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
}
.case_func2 .num_func{
	font-size: 28px;
	font-weight: 700;
}
.orange{
	color: #e86c00;
}
.num_func.big{
	font-weight: 700;
	font-size: 28px;
}
.case_func2 .num_func.big{
	font-size: 50px;
}

.ct_sec{
	background: url("http://dental.linkwin.jp/wp-content/uploads/2025/05/bg_ct.png") center / cover;
	padding: 80px 0;
	text-align: center;
	color: #fff;
}
.ct_sec h2{
	font-size:36px;
	margin-bottom: 20px;
}
.ct_sec .btn{
	margin-top: 24px;
}

.list_reason li:not(:last-child){
	margin-bottom: 60px;
}
.list_reason li:nth-child(even){
	flex-direction: row-reverse;
}
.list_reason li .reason_cnt{
	width: 50%;
}
.list_reason li figure{
	width: 46%;
	text-align: center;
}
.list_reason li .reason_cnt h3{
	font-size: 28px;
	line-height: 1.39;
	margin-bottom: 32px;
}
.list_reason li .reason_cnt h3 span{
	display: block;
}
.list_reason li .reason_cnt h3 .ttl_num{
	font-size: 120px;
	color: rgba(159,218,244,.5);
	line-height: 1;
	font-family: "Montserrat", sans-serif;
}
.list_reason li .reason_cnt h3 .mt_ttl{
	margin-top: -38px;
}

.bg_b{
	background: #d0eef6;
}

.tb_wrap{
	overflow: auto;
	margin-top: 40px;
	text-align: center;
}
.tb_wrap img{
	max-width: inherit;
	width: 735px;
}

.list_step{
	gap:38px;
}
.list_step li:nth-child(even){
	align-self: center;
}
.list_step li figure{
	margin-bottom: 8px;
}
.list_step li h3{
	text-align: center;
	font-size: 16px;
}

.inner_800{
	width: 88%;
	margin: auto;
	max-width: 800px;
}


.wrap_faq{
	margin: auto;
	max-width: 800px;
}
.wrap_faq dl{
	margin-bottom: 20px;
}
.wrap_faq dl:last-of-type{
	margin-bottom: 0;
}

.icon_faq{
    font-size: 42px;
    color: #3093c1;
    width: 46px;
    font-family: 'Poppins', sans-serif;
	font-weight: 600;
	line-height: 1;
}
.icon_faq.icon_a{
    color: #e86c00;
}
.wrap_faq dl dt{
    cursor: pointer;
    position: relative;
	padding: 16px 50px 16px 24px;
	background: #fff;
	color: #3093c1;
}
.wrap_faq dl dt h3{
    width: calc(100% - 46px);
    font-size: 18px;
	font-weight: 700;
}
.wrap_faq dl dt span{
	display: block;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 20px;
}
.wrap_faq dl dt span::before, .wrap_faq dl dt span::after{
	display: block;
	content: '';
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background:#3093c1;
	transition: all 0.3s ease-in-out 0s;
}
.wrap_faq dl dt span::before{
	width: 100%;
	height: 2px;
}
.wrap_faq dl dt span::after{
	height: 100%;
	width: 2px;
}
.wrap_faq dl dt.is-active span::after{
	height: 0;
}
.wrap_faq dl dd{
    display: none;
	padding: 16px 50px 16px 24px;
}
.a_box{
    width: calc(100% - 46px);
	align-self: center;
	font-weight: 400;
}

.sec_contact{
	background: url("http://dental.linkwin.jp/wp-content/uploads/2025/05/bg_contact.jpg") center / cover;
}
.inner_contact{
	margin: auto;
	width: 88%;
	max-width: 800px;
	padding: 50px 100px 60px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.14);
}



footer{
	padding: 32px 0;
}
.inner_1340{
	margin: auto;
	width: 90%;
	max-width: 1340px;
}
footer .flex_wrap_between{
	align-items: flex-end;
}
.ft_info{
	font-size: 14px;
	font-weight: 400;
}
.ft_info h2{
	margin-bottom: 10px;
	font-size: 14px;
}
.ft_r{
	text-align: right;
	font-size: 12px;
}
.ft_r .copy{
	font-size: 10px;
	margin-top: 24px;
}
.list_g_nav{
	display: none;
	text-align: center;
	margin-bottom: 60px;
	font-size: 18px;
}
.list_g_nav li:not(:last-child){
	margin-bottom: 30px;
}

.hbspt-form fieldset{
	margin-bottom: 10px !important;
	color: #333;
	max-width: 1000px !important;
}
.kv_form .hbspt-form fieldset label{
	font-size: 13px;
	margin-bottom: 5px;
}
.hs-form-required{
	color: #ff8b2e;
}
.hbspt-form fieldset.form-columns-1 .input{
	margin-right: 0 !important;
}
.hbspt-form input, .hbspt-form textarea{
	font-size: 14px;
	width: 100% !important;
	border-radius: 4px;
	background: #eff9fc;
	border: 1px solid #cfd0cc;
	padding: 5px;
}
.hbspt-form .actions{
	margin-top: 14px;
	text-align: center;
}
.hbspt-form .actions input{
	border-radius: 100vh;
	background: #ffe752;
	border: none;
	padding: 10px;
	cursor: pointer;
	max-width: 300px;
	margin: auto;
	font-weight: 700;
}
.sec_contact .hbspt-form fieldset label{
	margin-bottom: 5px;
}
.sec_contact .hbspt-form input, .sec_contact .hbspt-form textarea{
	font-size: 16px;
}
.sec_contact .hbspt-form .actions input{
	padding: 20px;
}
.plan_label{
	margin: 30px 0;
	text-align: center;
}
.plan_label > span{
	background: #fff;
	padding: 4px 40px;
	color: #3093c1;
	font-weight: 700;
	font-size: 14px;
	display: inline-block;
	line-height: 1;
}
.plan_label > span .en{
	font-size: 36px;
}
.list_plan{
	gap:30px;
	margin-bottom: 20px;
}

.def_sec {
  background-color: #f8f9fa;
  padding: 40px 20px;
}

.inner_contact {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row {
  display: flex;
  gap: 20px;
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-size: 14px;
  margin-bottom: 5px;
  font-weight: bold;
}

.form-group input,
.form-group textarea {
  font-size: 14px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
}

.form-group textarea {
  resize: vertical;
  height: 100px;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: #007bff;
  outline: none;
}

.form-group .required {
  color: red;
  margin-left: 5px;
}

.form-submit {
  text-align: center;
}

.submit-button {
  background-color: #007bff;
  color: #fff;
  font-size: 16px;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.submit-button:hover {
  background-color: #0056b3;
}

// 追加

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_inner {
  width: 1120px;
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw * 10 / 640);
  }
}

.u_clearfix:after,
.u_clearfix>li:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

* html .u_clearfix,
* html .u_clearfix>li {
  zoom: 1;
}

*+html .u_clearfix,
*+html .u_clearfix li {
  zoom: 1;
}

.u_switch_img {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .u_visible_sp {
    display: none;
  }

  .u_tel {
    cursor: default;
  }

  .u_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .u_inner {
    width: auto;
    margin: 0 4%;
    padding: 0;
  }
}

.u_inner .read-txt1 {
  background: #f5ab16;
  color: #fff;
  padding: 8px 40px;
  border-radius: 50px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .5px;
  width: 57%;
  margin: 0 auto 50px;
}

.u_inner .read-txt2 {
  background: #fff;
  color: #036eb7;
  padding: 8px 40px;
  border-radius: 50px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .5px;
  width: 57%;
  margin: 0 auto 50px;
}

@media screen and (max-width: 767px) {
  .u_inner .read-txt1 {
    width: 100%;
    font-size: 2.3rem;
    padding: 8px 20px;
    margin-bottom: 5rem;
  }

  .u_inner .read-txt2 {
    width: 100%;
    font-size: 2.3rem;
    padding: 8px 20px;
    margin-bottom: 5rem;
  }
}

/*他社比較*/
#comparison {
  width: 100%;
  height: auto;
  padding: 8rem 0 5rem;
  background:
    radial-gradient(circle, transparent 20%, #a3cfea 20%, #a3cfea 80%, transparent 80%, transparent),
    radial-gradient(circle, transparent 20%, #a3cfea 20%, #a3cfea 80%, transparent 80%, transparent) 50px 50px,
    linear-gradient(#ffffff70 8px, transparent 8px) 0 -4px,
    linear-gradient(90deg, #ffffff70 8px, transparent 8px) -4px 0;
  background-color: #a3cfea;
  background-size: 30px 30px, 30px 30px, 20px 20px, 20px 20px;
  overflow: hidden;
}

#comparison h2.c_ttl {
  color: #fff;
  text-align: center;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 0.25rem;
  clear: both;
  height: auto;
  margin: 0 auto 1.5rem;
}

#comparison .table-bg {
  width: auto;
  margin: 0 auto;
  padding: 50px 60px 55px;
  border-radius: 5px;
  background-color: #fff;
  position: relative;
}

#comparison .table-bg img.icon {
  position: absolute;
  top: 38px;
  left: 150px;
}

#comparison .table-bg img {
  -webkit-backface-visibility: hidden;
}

#comparison .table-bg p {
  margin-left: 90px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  color: #333;
}

#comparison .table-bg p span.one-stop {
  font-size: 25px;
  font-weight: 800;
  color: #ffb608;
  position: relative;
}

#comparison .table-bg p span.one-stop:before {
  content: "・";
  speak: none;
  display: inline-block;
  position: absolute;
  top: -17px;
  left: 3px;
  font-size: 1.7rem;
  color: rgb(251, 198, 14);
}

#comparison .table-bg p span.pick-blue {
  font-size: 22px;
  font-weight: 700;
  color: #1696e8;
}

#comparison .table-img {
  width: auto;
  height: auto;
  margin: 2rem auto 0;
  text-align: center;
  /*background: url(../img/comparison_table.png);*/
}

@media screen and (max-width: 767px) {
  #comparison {
    padding-bottom: 8rem;
  }

  #comparison .table-bg {
    width: 100%;
    padding: 30px 20px;
  }

  #comparison .table-bg p {
    margin: 0;
    font-size: 3rem;
  }

  #comparison .table-img {
    width: 100%;
    height: auto;
  }

  #comparison .table-bg img {
    position: static;
  }

  #comparison .table-bg p span.one-stop {
    font-size: 23px;
  }

  #comparison .table-bg p span.one-stop:before {
    top: -8px;
    left: 5px;
    font-size: 2.2rem;
  }

  #comparison .table-bg p span.pick-blue {
    font-size: 3.1rem;
  }
}

/*問い合わせの流れ*/
#flow {
  width: 100%;
  height: auto;
  padding: 6rem 0 9rem;
  overflow: hidden;
  background: url(http://dental.linkwin.jp/wp-content/uploads/2025/05/flow_bg.webp) bottom center no-repeat;
}

#flow h2.c_ttl {
  color: #fff;
  text-align: center;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 0.25rem;
  clear: both;
  height: auto;
  margin: 0 auto 1.5rem;
}

#flow ul {
  background: url(http://dental.linkwin.jp/wp-content/uploads/2025/05/flow_back.png) center 12rem no-repeat;
  width: 90%;
  margin: 0 auto;
}

#flow ul:after {
  display: none;
}

#flow li {
  position: relative;
}

#flow span {
  color: #036EB8;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: .2rem;
}

#flow ul li img {
  width: auto;
  margin: auto;
  position: absolute;
  top: 90px;
  left: 50%;
  translate: -50%;
  z-index: 1;
}

#flow li+li {
  position: relative;
}

#flow dl {
  color: #2e3165;
  background: #f9f7f0;
  height: 265px;
  padding: 2rem 1.5rem;
  margin-top: 18rem;
  box-shadow: 0px 5px 15px #bdc7da;
}

#flow dt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.6;
  border-bottom: dotted 2px #93b7d0;
  // margin: 1.5rem 1rem 0.5rem;
  padding-bottom: 0.4rem;
}

#flow dd {
  font-size: 15px;
  line-height: 1.7;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  #flow {
    background: #a2ceeb;
    padding: 9rem 0 7rem;
  }

  #flow ul {
    background: none;
    width: 100%;
  }

  #flow li {
    padding: 15px;
  }

  #flow li+li {
    margin-top: 0;
  }

  #flow li+li:before {
    border-width: 2rem 2rem 0 2rem;
    border-color: #160f1d transparent transparent transparent;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -6.3rem;
  }

  #flow ul li img {
    width: 70%;
    position: unset;
  }

  #flow span {
    font-size: 3rem;
  }

  #flow dl {
    margin-top: 0;
    height: auto;
    background: #f7f7f7;
    padding: 4rem;
  }

  #flow dt {
    font-size: 2.6rem;
    margin: 0 0 15px;
    padding-bottom: 15px;
  }

  #flow dd {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  #flow ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }

  #flow ul>* {
    flex-basis: 28rem;
    max-width: 28rem;
  }

  #flow dd {
    padding: 0 2rem;
  }
}


@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

#anv_04 .plan {
  background-color: #eee;
  display: flex;
  justify-content: space-between;
  padding: 1em;
  gap: 8px;
  margin-top: 3em;
  margin-bottom: 5px
}

@media screen and (max-width: 767px) {
  #anv_04 .plan {
    flex-direction: column
  }
}

#anv_04 .plan-item {
  position: relative;
  width: 100%;
  background-color: #fff;
  padding: 2em;
  border-radius: 5px
}

#anv_04 .plan h3 {
  font-size: 20px;
  margin-bottom: 1rem
}

#anv_04 .plan span {
  font-size: 3em;
  margin-left: 5px
}

#anv_04 .plan .notes {
  color: #999
}

#anv_04 .plan-list {
  margin-top: 2em;
  margin-bottom: 5.5em
}

#anv_04 .plan a {
  position: absolute;
  bottom: 2em;
  color: #fff;
  background-color: #333;
  padding: 10px 20px;
  border-radius: 3px
}



/*test----------------------------------------------*/

.def_sec {
	background-color: #f8f9fa;
	padding: 40px 20px;
  }
  
  .inner_contact {
	max-width: 800px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	padding: 20px;
  }
  
  .contact-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
  }
  
  .form-row {
	display: flex;
	gap: 20px;
  }
  
  .form-group {
	flex: 1;
	display: flex;
	flex-direction: column;
  }
  
  .form-group label {
	font-size: 14px;
	margin-bottom: 5px;
	font-weight: bold;
  }
  
  .form-group input,
  .form-group textarea {
	font-size: 14px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	width: 100%;
	box-sizing: border-box;
  }
  
  .form-group textarea {
	resize: vertical;
	height: 100px;
  }
  
  .form-group input:focus,
  .form-group textarea:focus {
	border-color: #007bff;
	outline: none;
  }
  
  .form-group .required {
	color: red;
	margin-left: 5px;
  }
  
  .form-submit {
	text-align: center;
  }
  
  .submit-button {
	background-color: #007bff;
	color: #fff;
	font-size: 16px;
	padding: 10px 20px; /* ボタンの内側の余白 */
	width: auto; /* 自動幅 */
	min-width: 150px; /* 必要に応じてボタンの最小幅を指定 */
	border: none;
	border-radius: 30px; /* ボタンの丸み */
	cursor: pointer;
	display: inline-block; /* ボタンをインライン要素にする */
	text-align: center; /* ボタン内の文字を中央揃え */
	margin: 0 auto; /* ボタンを中央揃え */
  }
  
  .submit-button:hover {
	background-color: #0056b3;
  }
/*test-------------------------*/  


/********************************
sp
********************************/
@media screen and (max-width: 768px) {
	.menu_btn{display: block;}
	header{position: relative;}
	.inner_header{height: 50px;}
	.gnav{position: fixed; top: 0;width: 100%; background: #fff;right: 0;padding: 80px 4% 15px; transform-origin: top;height: 100%;opacity: 0;pointer-events: none;display: block;}
	.open .gnav{ opacity: 1;pointer-events: all;}
	.gnav_list li{width: 100%;text-align: center;font-size: 18px;}
	.h_b_list li{width: 100%; text-align: center;}
	.h_b_list{gap:20px;}
	.gnav_list{width: 100%; gap:30px;}
	.ht_wrap{height: 48px; justify-content: center; margin-bottom: 40px;}
	.btn_hd a{margin: auto;border-radius: 20px; width: 100%;max-width: 300px;}
	.list_g_nav{display: block;}
}
@media screen and (max-width: 768px) {
	body{font-size: 14px;}
	.sp{ display:block !important;}
	.pc{display:none !important;}
	.kv{padding: 50px 0;}
	.kv_cnt{width: 100%; margin-bottom: 30px;}
	.kv_lead span{font-size: 12px;}
	.kv_cnt h1{font-size: 30px;}
	.kv_pic_area{width: 100%;margin: 0;}
	.kv_pic_area figure{width: 100%;text-align: center;}
	.kv_pic_area ul{width: 100%;display: flex;justify-content: space-between;}
	.kv_pic_area ul li{width: 49%;}
	.kv_form{width: 100%;}
	.sec_intro h2{font-size: 26px;}
	.about_cnt{width: 100%; margin-bottom: 30px;}
	.about_cnt h2{font-size: 26px;text-align: center;}
	.about_top figure{width: 100%;}
	.sec_about h3{text-align: center;
	font-size: 18px;}
	.icon_faq{font-size: 32px; width: 38px;}
	.wrap_faq dl dt h3{width: calc(100% - 38px); font-size: 16px;}
	.a_box{width: calc(100% - 38px);}
	.ft_r{text-align: left; margin-top: 20px;width: 100%;}
	.def_sec h2, .ct_sec h2{font-size: 26px;}
	.list_reason li .reason_cnt{width: 100%; margin-bottom: 30px;}
	.list_reason li figure{width: 100%;}
	.list_reason li .reason_cnt h3{font-size: 24px;}
	.list_step{flex-direction: column;gap:16px;}
	.list_step li{text-align: center;}
	.list_step li:nth-child(even) img{width: 14px;}
	.list_reason li .reason_cnt h3 .ttl_num{font-size: 90px;}
	.list_reason li .reason_cnt h3 .mt_ttl{font-size: 20px;}
	.inner_contact{padding: 20px;}
	.btn a{font-size: 14px;}
	.intro_sub_ttl span{display: block;padding: 5px 20px;}
}


