@charset "UTF-8";
/* CSS Document */

@media screen and ( min-width: 480px ) {
#main_v{
height: 100%;
}
.main_v_l{
width: 70%;
padding: 4% 15%;
}
.doctors_sp{
position: unset;
bottom: unset;
}
.yellow_btn{
width: 320px;
margin: 10px auto;
padding: 20px;
font-size: 20px;
border-radius: 40px;
-webkit-border-radius: 40px;
-moz-border-radius: 40px;
font-weight: 700;
}
.main_v_l .yellow_btn{
max-width: 310px;
width: 80%;
margin: 20px auto 0 auto;
padding: 20px;
font-size: 20px;
border-radius: 40px;
-webkit-border-radius: 40px;
-moz-border-radius: 40px;
font-weight: 700;
}
.worries_box img {
    width: 70%;
    padding: 15% 15% 0;
}
.worries_box li:last-child{padding-bottom: 0;}
.conversion{
padding: 40px;
}
#cnv_01 .arrow{
margin-top: -40px;
border-top: #fff 20px solid;
}
.task_title .line_feed{
display: block;
}
.feature_box li {
float: left;
width: 50%;
}
.feature_box li span{
width: 100%;
}
.contact_flow{
position: relative;
width: 240px;
margin: 0 auto;
}
.company_box table{
margin-bottom: 40px;
border-collapse: separate;
border-spacing: 0;
}
.company_box th,
.company_box td{
display: table-cell;
padding: 20px;
vertical-align: middle;
}
.company_box th.first_cell{
border-top: #e45377 1px solid!important;
}
.company_box td.first_cell{
border-top: #a1bccb 1px solid!important;
}
.cliants{
margin-top: 10px;
}
.cliants li{
float: left;
width: 50%;
margin-bottom: 10px;
}
#banner {
padding-top: 40px;
}
#banner li{
position: relative;
width: 320px;
margin: 10px auto;
}
footer{
position: relative;
margin-bottom: 0;
}
.footer_l{
float: left;
	width: 50%;
	text-align: left;
}
.footer_r{
/*position: absolute;
right: 20px;
bottom: 20px;*/
    float: right;
    padding: 1.5% 1% 0 0;
	width: auto;
	text-align: right;
	clear: none;
}
}

@media screen and ( min-width: 640px ) {
.title .arrow, .just + .arrow {
    border-top: 20px solid #fff;
    z-index: 2;
}
.worries_box li{
width: 50%;
float: left;
}
.worries_box li:nth-child(3){
margin: 0 25%;
}
.worries_box img {
    width: 90%;
    padding: 5% 5% 0;
}
.worries_box{
padding-bottom: 5%;
margin-top: -40px;
}
.worries_box + .arrow {
    border-top: 20px solid #e1edfb;
}
.just{
position: relative;
padding-top: 10px;
}
.just .sp,
.conversion .sp{
display: none;
}
.just .pc,
.conversion .pc{
display: block;
}
.nurse{
position: absolute;
bottom: -10px;
left: -15px;
width: 230px;
}
.nurse img{
width: 100%;
}
.arrow{
border: 20px solid transparent;
}
#case h2 {
    margin: 40px auto 0;
}
#case h3 {
    margin: 0px auto 40px;
}
.task_box li {
    width: calc(50% - 40px);
    padding: 20px;
}
#case .task_box + h3 {
    margin: 40px auto;
}
.service_caption{
text-align: center;
}
.service li{
margin-bottom: 20px;
}
.service li a{
width: 150px;
margin: 0 auto;
}
.half_box{
float: left;
width: calc(50% - 50px);
}
.half_box:nth-child(odd){
margin-right: 10px;
}
.half_box:nth-child(even){
margin-left: 10px;
}
.graph{
position: absolute;

top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#flow h2 .line_feed {
    display: inline;
}
#flow h2 + .arrow,
#company_profile h2 + .arrow {
    border-top: 20px #0073c0 solid;
}
.flow_box_wrap{
margin-top: -40px;
}
.flow_box{
position: relative;
float: left;
width: calc(33.33% - 10px);
margin-right: 10px;
}
.flow_box::after{
    content: "";
    display: block;
    border: 10px solid transparent;
    width: 1px;
    border-left: #fff 10px solid;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translate(0, -50%);
}
.fancybox_title{
font-size: 1.8em;
}
.tit_icon {
width: 70px !important;
margin: 0 15px 10px 0 !important;
vertical-align: middle;
}
.description .l_txt {
font-size:1.4em;
}
.companyPage .sec02 .boxTable div:first-child {
    width: 145px;
}
.companyPage .sec02 .boxTable div {
    padding: 5px 0 5px 30px;
}
}
@media screen and ( max-width: 768px ) {
.btn_layout {
    flex-wrap: wrap;
}
.btn_layout .yellow_btn{
    width: 100%;
    margin: 10px auto;
}
.contact_ttl{
    font-size: 24px;
}
.text_confirmation{
    font-size: 1.2em;
}
}
@media screen and ( min-width: 768px ) {

.contents {
margin-top: 70px;
}
.main_v_l{
position: absolute;
top:11%;
left: 3%;
width: 40%;
padding: 0;
z-index: 1;
}
.main_v_r{
float: right;
width: 62%;
z-index: 0;
}
.doctors_sp{
display: none;
}
.doctors_pc{
display: block;
/*animation-delay: 1.2s;*/
}
.pc{
display: block!important;
}
.sp{
display: none!important;
}
.yellow_btn{
font-size: 18px;
width: 230px;
padding: 16px;
}
#worries h2{
position: relative;
width: 600px;
margin: 3% auto;
}
.worries_box{
padding-top: 40px;
}
.worries_box li{
    width: 33.33%;
}
.worries_box li:nth-child(3) {
    margin: 0;
}
.worries_box li:nth-child(4) {
    margin-left: 16.664%;
}
.worries_box li:nth-child(5) {
    margin-right: 16.664%;
}
.worries_box img{
    width: 95%;
    padding: 5% 2.5% 0;
}
.just{
padding:30px 0 70px 100px;
}
.just p{
display: inline;
}
.conversion img{
display: block;
position: relative;
width: 700px;
margin: 0 auto;
}
.task_box li{
width: calc(33.33% - 40px);
}
.task_box li:nth-child(1),
.task_box li:nth-child(3),
.task_box li:nth-child(5) {
background-color: rgba(36,129,197,0.7);
}
.task_box li:nth-child(2),
.task_box li:nth-child(4),
.task_box li:nth-child(6) {
background-color: rgba(36,129,197,1.0);
}
#service{
padding: 10px;
}
.service{
padding: 10px;
}
.service li {
    width: calc(25% - 40px);
    padding: 20px 20px;
}
.service li a{
margin-top: 15px;
}
.fancybox_window{
width: 100%;
}
.sub_title{
margin-bottom: 20px;
}
.image_box{
float: left;
width: calc(25% - 20px);
margin-right: 20px;
}
.description{
float: left;
width: 75%;
}
#feature h3{
width: auto;
height: 50px;
}
.feature_no {
    left: 10px;
    top: -25px;
    background-color: #f08795;
    color: #fff;
    width: 60px;
    height: 50px;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    text-align: center;
    vertical-align: middle;
    line-height: 1.2;
    padding-top: 10px;
	font-size: 18px;
}
.feature_box ul{
margin: 30px 0 10px;
}
.feature_box li {
    width: 33.33%;
}
.graph {
    width: 80%;
}
#contact{
margin-top: -80px;
padding-top: 80px;
}
#contact.thanks_wrap{
    padding-top: 160px;
}
.contact_flow{
width: calc(100% - 40px);
}
.contact_box{
padding: 40px;
}
.contact_box th,
.contact_box td {
    display: table-cell;
	vertical-align: middle;
	padding: 20px 0;
}
.contact_box th{
width: 220px;
}
.contact_box td{
width: auto;
}
#banner li{
float: left;
width: 32.33%;
margin-right: 1%;
}
#banner li:nth-child(1){
margin-left: 0.5%;
}
#banner li:nth-child(3){
margin-right: 0;
}
#submit.yellow_btn {
    width: 300px;
	padding: 25px 0;
}
}
@media screen and ( min-width: 1020px ) {
.wrap{
position: relative;
width: 1000px;
margin-left: auto;
margin-right: auto;
}
.wrap_nayami{
position: relative;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
.header_r{
width: auto;
margin: 4px 20px 4px 0;
}
.yellow_btn{
font-size: 18px;
width: 260px;
}
.main_v_l {
    top: 15%;
    left: 5%;
}
.arrow {
    border: 40px solid transparent;
}
.title .arrow,
.just + .arrow {
    border-top: 40px solid #fff;
}
.worries_box {
    padding-bottom: 60px;
    margin-top: -80px;
}
.worries_box + .arrow {
    border-top: 40px solid #e1edfb;
}
.just{
font-size: 28px;
padding: 30px 0 100px 30px;
}
.just p:nth-child(4) span,
.just p:nth-child(5) span {
    font-size: 36px;
}
.nurse {
bottom: -15px;
left: -20px;
width: 280px;
}
#cnv_01 .arrow {
    margin-top: -40px;
    border-top: #fff 40px solid;
}
.conversion img{
width: 820px;
}
.conversion p{
font-size: 17px;
line-height: 2;
}
.conversion .yellow_btn{
width: 320px;
padding: 20px;
margin: 30px auto 20px;
font-size: 24px;
}
#case h2{
font-size: 36px;
margin: 60px auto 20px;
}
#case h3{
font-size: 24px;
width: 294px;
height: 60px;
margin: 0px auto 60px;
}
#case .task_box + h3 {
    margin: 60px auto;
}
.task_box li{
padding: 20px 0;
width: 33.33%;
}
.task_no{
font-size: 14px;
width: 80px;
}
.task_title{
position: relative;
display: block;
width: 350px;
margin: 20px auto;
font-size: 20px;
}
.task_box li a{
max-width: 350px;
width: 90%;	
margin: 0 auto;
font-size: 16px;
line-height: 18px;
height: 57px;
text-align: center;
padding-top: 17.5px;
}
.btn_wrap{
max-width: 350px;
width: 90%;	
margin: 0 auto;
}
.task_box li a.a_harf{
    max-width: 170px;
    width: 49%;
float: left;
text-align: left;
padding-top: 7.5px;
}
.task_box li a.a_harf:nth-child(odd){
margin-right: 5px;
}
/*.task_box li:nth-child(6) a{
padding-top: 17.5px;
}*/
#feature{
padding: 60px 0 60px 0;
}
#feature h2 {
font-size: 36px;
margin: 0 auto 30px;
}
#feature h3 {
font-size: 20px;
width: 680px;
margin: 0 auto 30px;
}
.feature_no{
width: 80px;
height: 70px;
border-radius: 40px;
-webkit-border-radius: 40px;
-moz-border-radius: 40px;
font-size: 20px;
line-height: 1.6;
left: 15px;
top:-20px;
}
.feature_title{
font-size: 24px;
margin-top: 30px;
margin-bottom: 30px;
}
.half_box:nth-child(odd) {
width: 480px;
height: 485px;
margin-right: 20px;
padding: 0;
}
.half_box:nth-child(even) {
width: 480px;
margin-left: 20px;
padding: 0;
}
.graph{
position: relative;
top:unset;
left: unset;
width: 380px;
transform: none;
margin: 50px 50px 0;
}
.feature_box table {
    margin: 10px 20px 5px;
	width: 440px;
}
.feature_box th,
.feature_box td{
font-size: 15px;
padding: 15px;
}
.feature_box table + .notes{
margin-right: 15px;
	margin-bottom: 15px
}
.feature_box li {
    width: 25%;
	margin-bottom: 30px;
}
#flow h2,
#company_profile h2{
font-size: 30px;
}
#flow h2 + .arrow,
#company_profile h2 + .arrow {
border: 20px transparent solid;
border-top: 20px #0073c0 solid;
}
.flow_box_wrap{
padding: 60px 0;
}
.flow_box{
width: 310px;
margin-right: 20px;
}
.flow_box:last-child{
margin-right: 0;
}
.flow_no {
font-size: 20px;
letter-spacing: 1px;
}
.flow_text{
margin-top: 10px;
font-size: 15px;
}
.contact_box.wrap{
width: 920px;
}
#contact h2 {
font-size: 30px;
margin: 30px 0 30px;
}
.contact_box{
padding-top: 20px;
}
.p_mark.wrap{
padding: 15px 0;
margin: 15px auto 50px;
font-size: 15px;
}
.p_mark img {
    width: 85px;
    margin-right: 30px;
}
.company_box{
padding: 0;
}
.company_box table {
margin-top: 50px;
}
.company_box th,
.company_box td {
padding: 25px 0;
}
.cliants li {
    width: 33.33%;
    margin-bottom: 10px;
}
}

@media screen and ( min-width: 1180px ) {
.task_box li:nth-child(6) a{
padding-top: 17.5px;
}
}

@media screen and ( min-width: 1220px ) {
.just{
width: 1200px;
margin: 0 auto;
}
.nurse {
    left: 0;
    width: 300px;
}
}

@media screen and ( min-width: 1190px ) {
.header_ch{
    display: block;
  }
}

@media screen and ( min-width: 1160px ) {

 .header_chtxt{
    display: none;
  }
.link_btn{
padding: 10px 0 2px 10px;
}

}

@media screen and ( min-width: 768px ) {
.header_chimg {
  display: block;
  max-width: 220px;
  width: 100%;
  }

}
@media screen and ( min-width: 910px ) {
.pc_tel {
    display: block;
  }
.header_chtxt{
    display: none;
  }
.link_btn {
    float: left;
    padding: 10px 0 10px 10px;
}
.pc2 {
  display: block!important;
  }
.sp2 {
  display: none!important;
}
.header_tel {
  padding-top: 16px;
  margin-right: 16px;
  }
.link_btn, .link_btn img, footer a, footer a img {
    height: 60px;
}
header{
  height: 80px;
}
.header_r{
width: auto;
margin: 5px 20px 5px 0;
}
  }
@media screen and ( max-width: 320px ) {
.link_btn,
.link_btn img{
  height: 30px;
  }
}


/* 2025.10 */
.mv-ttl img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* @media screen and ( min-width: 768px ) {
    .contents {
        margin-top: 80px;
    }

} */

.logo-slider-ttl {
    margin-bottom: 1em;
    text-align: center;
    font-size: 125%;
    font-weight: bold;
    color: #203c6b;
}
:root {
    --logo-width: 142px;
    --logo-height: 52px;
    --logo-margin: 18px;
}
.logo-item img {
    max-width: 102px;
    max-height: 28px;
}
.logo-slider-container {
    width: 100%;
    padding: 1.25em 0 2em;
    overflow: hidden;
    background: url(../images/logo_slider_bg.webp) no-repeat center;
    background-size: cover;
}
.logo-slider {
    display: flex;
    width: 100%;
}
.logo-track {
    display: flex;
    animation: scroll 30s linear infinite;
    will-change: transform;
}
.logo-item {
    flex-shrink: 0;
    width: var(--logo-width);
    height: var(--logo-height);
    margin-right: var(--logo-margin);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}
.logo-item img {
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.3s ease;
}
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-1 * (var(--logo-width) + var(--logo-margin)) * var(--logo-count)));
    }
}
@media (max-width: 768px) {
}
.logo-slider-container:hover .logo-track {
    animation-play-state: paused;
}

@media screen and ( min-width: 768px ) {
    :root {
        --logo-width: 180px;  /* パディング含めた枠のサイズ（190px + 余白） */
        --logo-height: 62px;  /* パディング含めた枠のサイズ（70px + 余白） */
        --logo-margin: 40px;
    }
    .logo-item img {
        max-width: 140px;  /* 画像の最大幅 */
        max-height: 38px;  /* 画像の最大高さ */
    }
}

.reason-sec {
    padding: 3em 0;
    color: #203c6b;
}
.reason-line {
    margin-bottom: .5em;
    text-align: center;
    font-size: 130%;
}
.reason-line::before {
    content: "＼";
}
.reason-line::after {
    content: "／";
}
.reason-ttl {
    margin-bottom: .5em;
    text-align: center;
    font-size: 200%;
    font-weight: bold;
}
.reason-list {
    width: 90%;
    margin: auto;
}
.reason-list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 1em;
    background-color: #f3f3f3;
}
.reason-list .reason-list-num {
    font-style: italic;
    font-size: 360%;
}
.reason-list .reason-list-txt {
    font-size: 170%;
}
@media screen and ( max-width: 767px ) {
    .reason-sec {
        padding: 3em 0;
    }
    .reason-line {
        position: relative;
        max-width: 76vw;
        margin: 0 auto .5em;
        line-height: 1.2;
    }
    .reason-line::before,
    .reason-line::after {
        position: absolute;
        top: 1em;
        display: block;
    }
    .reason-line::before {
        left: 0;
    }
    .reason-line::after {
        right: 0;
    }
    .reason-list li {
        padding: .5em 1em;
        line-height: 1.4;
    }
    .reason-list .reason-list-txt {
        padding-left: .5em;
    }
}
@media screen and ( min-width: 768px ) {
    .reason-sec {
        padding: 4em 0 3em;
    }
    .reason-list {
        max-width: 690px;
    }
    .reason-list li {
        padding: .25em 2em;
    }
    .reason-list .reason-list-txt {
        padding-left: 1em;
    }
}

.floating-bnr {
    position: fixed;
    right: 0;
    bottom: 3em;
    z-index: 10;
}
.floating-bnr a {
    display: block;
}
.floating-bnr img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
}
@media screen and ( max-width: 767px ) {
    .floating-bnr {
        max-width: 80%;
    }
    .floating-bnr a:hover {
        opacity: 1 !important;
    }
}
@media screen and ( min-width: 768px ) {
    .floating-bnr a:hover {
        opacity: .8 !important;
    }
}
