﻿.box_content p{
    padding: 20px;
}
.box_content figure{
    padding-top:20%;
}
@media all and (-ms-high-contrast: none){
    footer ul{
        padding-top:5px;
    }
    #cms_2-b .cate .cate_title{
        padding-top:15px !important;
    }
    #cms_3-c .cate_title{
        padding-top:10px !important;
    }
p.s_footer_copy.font_12.txt_center.pd_b-5px_sp.txt_white.bg_color1{
    padding-top:5px;
}
    #cms_2-a .cate .cate_title{
        padding-top:15px !important;
    }
.intro_item h2{
    padding:8px 20px 0px 130px !important;
}
}
#cms_2-b .box_wrap{
    margin-bottom:50px;
}
#page10 a .line {
    background: #0088a8;
}
a.d_block.pd_20px.pd_10px_sp.pd_l-40px.pd_l-40px_sp.border_so1-b.border_black.posi_rel {
    color: #005f75;
}
a.d_inline_b.mg_l-5px.mg_r-5px.pd_t-5px.pd_b-5px.pd_l-10px.pd_r-10px.border_rad3.txt_white.bg_color1.motion03s.hvr_bg_color3 {
    background: #0088a8;
}
body{
    overflow:hidden;
}
.sns_link .width_20{
    width:30px;
}
.LINE img{
    max-width:250px;
}
.phone_txt h4 span{
    background: #fcbd02;
    width: 150px;
}
.phone_wrap {
    background: #4ccad8;
    color: white;
}
.phone_wrap a{
    color: white;
    border-color: white;
    border-radius: 0;
}
.phone_wrap a span{
    color: white;
}

.overlay .grid_6.tb_hide.height100per.bg_posi_c-c.bg_size-cover::before {
    background: rgba(231,253,255,0.3);
}
.s_footer_info_r.grid_6.grid_12_sp.d_flex.pd_t-40px.pd_b-40px.pd_clear_tb{
    background: #f1ffff;
}
#page_title::before {
    background: rgba(175,255,255,0.25);
}

footer h3{
    color: #0088a8;
}
.sf_contact_mail .fa-envelope:before {
    content: "\f075" !important;
    margin-right:5px;
}
.sf_contact_mail a {
    background: #fcbd02;
    color: white;
    border:0;
}
.sf_contact_mail a:hover{
    background:#0088a8;
}
.loading{
    background:#bff8f9;
}
.main_img_txt span {
    letter-spacing: 8px;
    margin-top: 20px;
    font-size: 18px;
}
.swiper-wrapper.posi_rel.width_100per.height100per.over_hide.border_rad10.border_rad0_tb{
    border-radius:0;
}
.main_img_txt::before {
    width: 400px;
    height: 110px;
    content: "";
    background: url(Dup/img/main_b2.png) no-repeat;
    position: absolute;
    right: -100px;
    bottom: -50px;
    background-size: contain;
}
#main_img .swiper-wrapper::before {
        background-color: rgba(220,246,255,0.25);
    background-image: none;
    background-size: 3px 3px;
}
.main_img_txt {
    white-space: nowrap;
    font-weight: normal;
    letter-spacing: 12px;
    text-indent: 4px;
    z-index: 3;
    color: #0088a8;
    font-size: 38px;
    background: white;
    padding: 40px 60px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.25);
}
.border_black {
    border-color: #ffedb8;
}
#cms_3-c .cate_title {
    background: linear-gradient(46deg, #4db1c8 0%, rgb(101 202 213) 100%);
    text-align: center;
    color: white;
    border: 0;
}
p.s_footer_copy.font_12.txt_center.pd_b-5px_sp.txt_white.bg_color1{
    background: #4ccad8;
}
.cms_box{
    padding-bottom:50px;
    box-sizing: border-box;
}
#cms_2-b .cate,.cms_2-b .cate {
    max-width: 1000px;
    margin: auto;
}
#cms_2-b .cate_title,.cms_2-b .cate_title{
    text-align:center;
}
#cms_2-b h3.box_title1,.cms_2-b h3.box_title1 {
    border: 0;
    margin-bottom: 5px;
}
#cms_2-b .cate_box::after,.cms_2-b .cate_box::after {
    content: "STEP";
    text-align: center;
    padding-top: 14px;
    position: absolute;
    width: 80px;
    height: 80px;
    background: #0088a8;
    color: white;
    left: -40px;
    font-size: 12px;
    top: 20px;
    border-radius: 50px;
    box-sizing: border-box;
    letter-spacing: 2px;
}
#cms_2-b .cate_box::before, .cms_2-b .cate_box::before {
    counter-increment: rank;
    content: "0" counter(rank);
    position: absolute;
    top: 40px;
    font-size: 34px;
    z-index: 2;
    color: white;
    left: -18px;
}
#cms_2-b .box_wrap,.cms_2-b .box_wrap  {
    counter-reset: rank 0;
    background: #fefff0;
    padding: 50px 70px 10px;
}
#cms_2-b .cate_box, .cms_2-b .cate_box {
    border: 0;
    background:white;
    position: relative;
    padding-left: 60px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.06);
}


span.icon1 img,span.icon2 img,span.icon4 img{
    width:40px;
}
span.icon5 img{
    width:50px;
}
span.icon1{
    position:relative;
    left:3px;
}
.cate_title {
    background: #4ccad8;
    border-color: #0088a8;
  background: linear-gradient(175deg, #4db1c8 0%, rgb(94 211 224) 100%) !important;
    border:0;
}
.cate_list li a {
    background: #4ccad8;
}
.linkStyle{
    color: #0088a8;
}
.pager li a {
    background: #4ccad8;
}
.title_box {
    border-color: #4ccad8;
}
.title_box p{
    color: #fcbd02;
    margin-bottom:5px;
    font-family: 'Homemade Apple', cursive;
}
.title_box h2{
    color: #0088a8;
}
.menu-box li a {
    color: #0088a8;
}
.modal2 .modal_txt_wrap::before {
    content: "";
    position: absolute;
    width: 370px;
    height: 110px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: -80px;
    background-size: contain;
    bottom: -45px;
    z-index: 2;
}

.modal1 .modal_txt_wrap::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 110px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: -70px;
    background-size: contain;
    bottom: -45px;
    z-index: 2;
}
.modal_wrap div.d_flex{
    flex-wrap:nowrap;
}
.modal_txt_wrap h2{
    color: #0088a8;
}
.modal_txt_wrap {
    background: white;
    padding: 40px;
    color: #000000;
    margin-left: 50px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.25);
    position:relative;
}
.modal_wrap{
    opacity:1;
}
span.modal_bg_wrap{
    background: url(Dup/img/modal_bg.jpg);
    width: 100%;
    height: 100%;
    position: absolute;
        background-position: center;
}
.modal_bg{
    background-color: rgba(227,252,255, 0.8);
}
.cms_box .cms_box_bg{
    border-radius:0;
}
h2,h3,h4{
    font-weight:normal !important;
}
.cms_5-a .box_wrap{
    background:white;
}
h4.box_title1{
    color: #0088a8;
}
.menu-box span {
    font-weight: normal;
}
.fa-chevron-right:before ,.fa-chevron-left:before {
    color: #0088a8;
}
li.h_box_tel.sp_hide a.txt_white{
    color: #0088a8;
}
li.h_box_mail.sp_hide a:hover {
    background: #0088a8;
}
.button_container span {
    background: #0088a8;
}
li.h_box_mail.sp_hide a {
    background: #fcbd02;
    color: white;
    border: 0;
}
.h_box_tel i{
    margin-right: 5px;
}
.top_cms_title h2{
    color: #0088a8 !important;
    font-weight: normal !important;
}
.top_cms_title p {
    color: #fcbd02;
    margin-top:5px;
    font-family: 'Homemade Apple', cursive;
}
#pp-nav .txt_color1{
        color: #fcbd02;
}
.contents_no {
    top: 20px;
    left: 26px;
    z-index: 1;
    padding-left: 0;
    max-width: 88px;
}
.c2_box_txt div.d_flex::before {
    width: 150px;
    height: 110px;
    content: "";
    background: linear-gradient(144deg, rgba(225,243,243) 0%, rgba(225,243,243) 50%, rgba(86,18,0,0) 50%, rgba(86,18,0,0) 100%);
    position: absolute;
    left: 0;
    top: 0;
}
#s_content2 .c2_box_txt1 h2::before {
    content: "";
    position: absolute;
    width: 200px;
    height: 90px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: -70px;
    background-size: contain;
    top: -5px;
    z-index: -1;
}

#s_content2 .c2_box_txt2 h2::before {
    content: "";
    position: absolute;
    width: 330px;
    height: 90px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: -120px;
    background-size: contain;
    top: -5px;
    z-index: -1;
}

#s_content2 .c2_box_txt h2 {
    background: none;
    color: #0088A8;
    font-weight: normal;
    display: inline-block;
    position: relative;
    padding: 5px 20px 5px 20px;
    white-space: nowrap;
    font-size: 22px;
    margin-bottom: 50px;
    letter-spacing: 1px;
    z-index: 2;
}


#s_content2 .c2_box_txt{
    text-align:center;
}

span.more_box,.more_btn a{
    border-color: #fcbd02;
    z-index: 2;
}
.bg_color2 {
    background-color: #e1f3f3;
}
.intro_img a span {
    top: -10%;
}
.intro_img div {
    font-size: 1.5vw;
    top: 10%;
    left: -13%;
    -webkit-text-stroke: 0;
    pointer-events: none;
    color: #0088A8;
    font-weight: normal;
    letter-spacing: 0.3vw;
    line-height: 45px;
    z-index: 3;
}
#con1 {
    position: absolute;
    bottom: -70px;
    z-index: 3;
    left: -49px;
    width: 110%;
}
.intro_left_item{
    position:relative;
}
.intro_box figure img{
    object-fit: cover;
    width:100% !important;
}
.intro_box figure{
    padding-top:0;
}
.intro_item p{
    line-height:28px;
}
h2 span::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 110px;
    background: url(Dup/img/con1_2.png) no-repeat;
    right: -150px;
    background-size: contain;
    top: -5px;
}


.intro_box {
    padding-right: 0;
    justify-content: flex-end;
}
.intro_item{
    background: white;
    padding: 60px;
    box-sizing: border-box;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.3);
    padding-right: 80px;
     font-size:15px;
}
.intro_item h2 span{
    position:relative;
}
.intro_item h2 {
    background: #4CCAD8;
    color: white;
    font-weight: normal;
    display: inline-block;
    position: relative;
    left: -60px;
    padding: 5px 20px 5px 130px;
    white-space: nowrap;
    font-size: 24px;
    margin-bottom: 50px;
    letter-spacing: 1px;
}
.intro_item h2::after {
    width: 70px;
    height: 50px;
    content: "";
    position: absolute;
    background: url(Dup/img/01.png) no-repeat;
    left: 35px;
    top: 7px;
    background-size: contain;
}
.intro_item h2::before {
    width: 100px;
    height: 100px;
    background: #4ccad8;
    content: "";
    position: absolute;
    border-radius: 50px;
    top: -24px;
    left: 20px;
}
#cms_2-a .cate_title{
   background: linear-gradient(46deg, #4db1c8 0%, rgb(101 202 213) 100%);
    color: #ffffff;
    border: 0;
}
@media screen and (max-width:1450px){
    h2 span::before {
    content: "";
    position: absolute;
    width: 310px;
    height: 110px;
    background: url(Dup/img/con1_2.png) no-repeat;
    right: -50px;
    background-size: contain;
    top: 15px;
}
}
/*------------------------------------タブレット------------------------------------*/
@media screen and (max-width:768px){
   .main_img_txt {
    width: 70%;
    white-space: nowrap;
    font-weight: normal;
    letter-spacing: 12px;
    text-indent: 4px;
    z-index: 3;
    color: #0088a8;
    font-size: 28px;
    background: white;
    padding: 15px 0px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.25);
   }
   #con1 {
    position: absolute;
    bottom: 10px;
    z-index: 3;
    left: -249px;
    width: 110%;
}
#s_content2 .c2_box_txt1 h2::before {
    content: "";
    position: absolute;
    width: 141px;
    height: 90px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: 90px;
    background-size: contain;
    top: -55px;
    z-index: -1;
}
#s_content2 .c2_box_txt2 h2::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 90px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: 20px;
    background-size: contain;
    top: -55px;
    z-index: -1;
}
.contents_no {
    top: 10px;
    left: 10px;
    z-index: 1;
    padding-left: 0;
    max-width: 58px;
}
#s_content2 .c2_box_txt h2 {
    white-space: normal;
    font-size: 18px;
}
.modal_txt_wrap {
    width: 80% !important;
    margin-top: 50px;
    margin-left: 0;
}
figure.box_img.normal_img.img_tool4.grid_6.grid_12_sp.txt_center.mg_b-50px_sp {
    width: 80% !important;
}
.modal_wrap div.d_flex {
    flex-wrap: wrap;
    justify-content: center;
}
.cms_box .cms_box_bg{
    height:160px;
}
#cms_2-b .box_wrap, .cms_2-b .box_wrap {
    counter-reset: rank 0;
    background: #fefff0;
    padding: 50px 30px 10px 60px;
}
#phone .box.d_flex.flex_top-left{
    flex-wrap:nowrap;
}
.main_img_txt::before {
    width: 260px;
    height: 60px;
    content: "";
    background: url(Dup/img/main_b2.png) no-repeat;
    position: absolute;
    right: -80px;
    bottom: -30px;
    background-size: contain;
}
.main_img_txt {
    width: 70%;
    font-weight: normal;
    letter-spacing: 9px;
    text-indent: 4px;
    z-index: 3;
    color: #0088a8;
    font-size: 32px;
    background: white;
    padding: 5px 20px;
    box-shadow: 2px 2px 5px rgb(0,0,0, 0.25);
    top:50%;
}
}

/*------------------------------------ここまで------------------------------------*/

/*------------------------------------スマホ------------------------------------*/
@media screen and (max-width:667px){
#s_content2 .c2_box_txt h2 {
    font-size: 16px;
}
.main_img_txt{
    font-size:16px;
}
   .intro_item {
    background: white;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 5px 5px 10px rgb(0 0 0 / 30%);
    padding-right: 20px;
    font-size: 15px;
}
.intro_item h2 {
    background: #4CCAD8;
    color: white;
    display: inline-block;
    position: relative;
    left: 0px;
    padding: 10px;
     white-space: normal;
    font-size: 18px;
    margin-bottom: 50px;
    letter-spacing: 1px;
}
.intro_item h2::after {
    width: 40px;
    height: 20px;
    content: "";
    position: absolute;
    background: url(Dup/img/01.png) no-repeat;
    left: 47px;
    top: -22px;
    background-size: contain;
}
.intro_item h2::before {
    width: 70px;
    height: 70px;
    background: #4ccad8;
    content: "";
    position: absolute;
    border-radius: 50px;
    top: -34px;
    left: 30px;
}
#con1 {
    position: absolute;
    bottom: 10px;
    z-index: 3;
    left: -10px;
    width: 100%;
}
h2 span::before {
    content: "";
    position: absolute;
    width: 250px;
    height: 70px;
    background: url(Dup/img/con1_2.png) no-repeat;
    right: -210px;
    background-size: contain;
    top: 55px;
}
#s_content2 .c2_box_txt h2{
    margin-bottom:20px;
}
#s_content2 .c2_box_txt1 h2::before {
    content: "";
    position: absolute;
    width: 141px;
    height: 70px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: 10px;
    background-size: contain;
    top: 35px;
    z-index: -1;
}
#s_content2 .c2_box_txt2 h2::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 90px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: 20px;
    background-size: contain;
    top: 15px;
    z-index: -1;
}
#cms_2-b .cate_box::before, .cms_2-b .cate_box::before {
    counter-increment: rank;
    content: "0" counter(rank);
    position: absolute;
    top: -20px;
    font-size: 34px;
    z-index: 2;
    color: white;
    letter-spacing: 2px;
    left: -20px;
}
#cms_2-b .cate_box::after, .cms_2-b .cate_box::after {
    content: "STEP";
    text-align: center;
    padding-top: 14px;
    position: absolute;
    width: 80px;
    height: 80px;
    background: #0088a8;
    color: white;
    left: -40px;
    font-size: 12px;
    top: -40px;
    border-radius: 50px;
    box-sizing: border-box;
    letter-spacing: 2px;
}
#cms_2-b .cate_box, .cms_2-b .cate_box {
    border: 0;
    background: white;
    position: relative;
    padding-left: 40px;
    box-shadow: 2px 2px 5px rgb(0 0 0 / 6%);
}
.cms_box{
    padding-bottom:0;
}
.overlay{
    top:0;
}
.button_container.active .bottom {
    background: #0088a8;
}
.button_container.active .top {
    background: #0088a8;
}
.overlay nav{
    padding-top:70px;
}
.c2_box_txt div.d_flex::before {
    width: 70px;
    height: 50px;
}
.contents_no {
    top: 0px;
    left: 10px;
    z-index: 1;
    padding-left: 0;
    max-width: 58px;
}
.modal_scroll{
    overflow-x:hidden;
}
.modal_txt_wrap {
    width: 100% !important;
    margin-top: 0;
    margin-left: 0;
    padding: 30px;
}
figure.box_img.normal_img.img_tool4.grid_6.grid_12_sp.txt_center.mg_b-50px_sp {
    width: 100% !important;
}
.modal1 .modal_txt_wrap::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 110px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: -20px;
    background-size: contain;
    bottom: -65px;
    z-index: 2;
}
.modal2 .modal_txt_wrap::before {
    content: "";
    position: absolute;
    width: 310px;
    height: 110px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: -10px;
    background-size: contain;
    bottom: -45px;
    z-index: 2;
}
#cms_2-b .box_wrap, .cms_2-b .box_wrap {
    counter-reset: rank 0;
    background: #fefff0;
    padding: 50px 30px 10px 30px;
}
#phone .box.d_flex.flex_top-left {
    flex-wrap: wrap;
}
#s_content2 .c2_box_txt1 h2::before {
    content: "";
    position: absolute;
    width: 120px;
    height: 70px;
    background: url(Dup/img/con2_1.png) no-repeat;
    right: 100px;
    background-size: contain;
    top: -45px;
    z-index: -1;
}
#s_content2 .c2_box_txt2 h2::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 90px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: 40px;
    background-size: contain;
    top: -55px;
    z-index: -1;
}
#s_content2 .c2_box_txt2 h2::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 90px;
    background: url(Dup/img/con2_2.png) no-repeat;
    right: 40px;
    background-size: contain;
    top: -55px;
    z-index: -1;
}
#s_content2 .c2_box_txt h2 {
    margin-bottom: 20px;
    margin-top: 20px;
}
section#main_img{
    height:80vh !important;
}
.main_img_txt {
    font-size: 22px;
    white-space: inherit;
}
.main_img_txt span {
    letter-spacing: 8px;
    margin-top: 20px;
    font-size: 14px;
    display: block;
}
}
 /*------------------------------------ここまで------------------------------------*/   