﻿@charset "utf-8";
/*@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&&display=swap");*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap');

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, table, 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: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }
q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }
a img { border: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
html { overflow: auto; scroll-behavior: smooth; }
body { 
	overflow: hidden;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 400;
	color: #333333;
	font-size: 100%;
	line-height: 160%;
}

a {color: #fff;text-decoration: none;}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
img {max-width: 100%;height: auto;width /***/: auto;margin: 0;padding: 0;vertical-align: bottom;}
.clear {clear: both;}
strong {font-weight: bold;}
.sp{display:none;}

/* ヘッダー
=========================================================================================== */



/* タイトル
=========================================================================================== */
.title{
	width: 100%;
    text-align: center;
    position: relative;
}
.title .tel{
    width: 43%;
    position: absolute;
    top: 4%;
    right: 4%;
}
.title .bt{
    width: 30%;
    position: absolute;
    top: 27%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

/* サービス
=========================================================================================== */
.service{
    width: 100%;  
    text-align: center;
}
.service h2{
    width: 100%;
    text-align: center;
}
.service h2 p{
    background:#fff;
    border-radius:100vh;
    text-align:center;
    display:inline-block;
    font-size: calc(28 *(100vw/1920));
    font-weight: 700;
    margin: -1em auto 0 auto;
    padding: 0.5em 5em ;
    overflow: hidden;
    position: relative;
    line-height: 1;
}
.service ul{ 
    width: 85%;
    margin: 3% auto;
    display: flex;
    justify-content:space-between;
    border-right: 1px solid #ada9a8;
    user-select: none;
}
.service ul li{ 
    width: 16.6%;
    border-left: 1px solid #ada9a8;

}
.service ul li img{ 
    width: 60%;
    margin-bottom: 5%;
}
.service ul li{
    position: relative;
}
.service ul li p.tx{
    font-weight: 700;
    font-size: calc(28 *(100vw/1920));
    line-height: 1.3;
}
.service ul li p.sub{
    width: 120%;
    opacity: 0;
    position: absolute;
    transition:0.2s;
    bottom: 0%;
    left: -20%;
    background: #FFF;
    padding: 1em;
    text-align: left;
    font-size: calc(18 *(100vw/1920));
    line-height: 1.3;
    border-radius: 10px;
    border: 1px solid #ada9a8;
    z-index: 1;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));  
}
.service ul li p.sub span{
    font-size: calc(20 *(100vw/1920));
    margin-bottom: 0.5em;
    font-weight: 700;
    display: block;
}
.service ul li:hover p.sub{
    opacity: 1;
}
.service dl{  
    width: 75%;  
    margin: 3% auto;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
    font-weight: 700;
}
.service dl dt{
    width:33%;
    margin: 0 0 2% 0;
}
.service dl dt p{
    color: #FFF;
    background:#709bb0;
    border-radius:100vh;
    display:flex;
    align-items:center;
    justify-content: center;
    font-size: calc(23 *(100vw/1920));
    line-height: 2;
}
.service dl dd{
    width:66%;
    text-align: left;
    display:flex;
    font-size: calc(21 *(100vw/1920));
    line-height: 2;
}

/* middle-bt
=========================================================================================== */
.middle-bt{
    width: 100%;
    margin: 3% auto;
    text-align: center;
}
.middle-bt img{
    width: 30%;
}
/* チェック
=========================================================================================== */
.check{
    width: 100%;
    margin: 3% auto;
    text-align: center;    
}
.check h2 img{
    width: 60%;
}
.check h3{
    font-size: calc(35 *(100vw/1920));
    font-weight: 700;
    margin-top: 3%;
}
.check ul{
    width: 80%;
    margin: 3% auto 0 auto;
    font-size: calc(45 *(100vw/1920));
    font-weight: 700;
    line-height: 2.5    ;
}   
.check ul li{
    text-align: left;
}  
.check ul li a{
    color: #000;
}
.check .detail{
    width: 100%;
    margin: 3% auto;
    padding: 1em 0;
    background: #fffde5;
}
.check .detail .tx{
    width: 80%;
    margin: 3% auto;
    text-align: left;
    font-size: calc(30 *(100vw/1920));
    font-weight: 500;
    line-height: 1.6;
    clear: both;
}
.check .detail .tx .num{
    font-size: calc(45 *(100vw/1920));
}
.check .detail .tx .red{
    color: #e60012;
}
.check .detail .tx .icon{
    text-align: right;
}
.check .detail .tx .icon span{
    color: #FFF;
    font-size: calc(28 *(100vw/1920));
    text-align: center;
    background: #709bb0;
    border-radius:100vh;
    width: 18%;
    display: inline-block;
    margin: 1em 1% 0 0;

}


/* バナー
=========================================================================================== */
.banner{
    width: 100%;
    margin: 8% auto;
    text-align: center;
}
.banner img{
    width: 50%;
    filter: drop-shadow(0px 0px 15px rgba(0,175,236,0.8));  
}


/* ページトップ
======================================================== */
#page-top {
    position: fixed;
    bottom: 6%;
    right: 20px;
    z-index: 1;
    border: 2px solid #FFF;
    text-align: center;
    font-weight: bold;
    padding: 0.5em 1em ;
    background: #709bb0;
    border-radius: 5px;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));    
}


/* フッター
=========================================================================================== */
footer{
    width: 100%;
    margin: 0 auto;
}
footer h2{
    width: 100%;
    text-align: center;
    font-size: calc(30 *(100vw/1920));
    font-weight: 500;
}
footer ul{
    width: 65%;
    margin: 1% auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
footer ul li:nth-child(1){
    width: 37%;
}
footer ul li:nth-child(2){
    width: 42%;
}
footer ul li:nth-child(3){
    width: 13%;
}
footer p{
    width: 100%;
    text-align: center;
    font-size: calc(24 *(100vw/1920));
    font-weight: 500;
    margin: 1% auto 5% auto;
}


/*===============================================
●style.css 画面の横幅が1000pxまで
===============================================*/
@media screen and (max-width: 1000px) {


#page-top {
    font-size: 80%;
    padding: 0.2em 1em ;
    bottom: 2%;
    
}



}
/*===============================================
●tablet.css 画面の横幅が768pxまで
===============================================*/
@media screen and (max-width: 768px) {

.sp{display:block;}
.pc{display: none;}

/* サービス
=========================================================================================== */
.service h2 p{
    font-size: calc(26 *(100vw/768));
}
.service ul{ 
    width: 90%;
    flex-wrap: wrap;
    border-right: none;
}
.service ul li{ 
    width: 32%;
    border-left: 1px solid #ada9a8;
    margin-bottom: 5%;
}
.service ul li:nth-child(3n), .service ul li:last-child{
    border-right: 1px solid #ada9a8;
}
.service ul li img{ 
    width: 60%;
    margin-bottom: 5%;
}
.service ul li p.tx{
    font-size: calc(26 *(100vw/768));
}
.service ul li p.sub{
    width: 110%;
    left: -10%;
    padding: 0.5em;
    font-size: calc(16 *(100vw/768));
    border-radius: 5px;
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));  
}
.service ul li p.sub span{
    font-size: calc(20 *(100vw/768));
}
.service ul li:hover p.sub{
    opacity: 1;
}
.service dl{  
    width: 90%;  
}
.service dl dt{
    width:100%;
    margin: 0 0 2% 0;
}
.service dl dt p{
    font-size: calc(26 *(100vw/768));
}
.service dl dd{
    width:100%;
    display:inline-block;
    font-size: calc(24 *(100vw/768));
    line-height: 1.6;
    margin-bottom: 1em;
}

/* middle-bt
=========================================================================================== */
.middle-bt{
    margin: 3% auto 10% auto;
}
.middle-bt img{
    width: 60%;
}
/* チェック
=========================================================================================== */
.check h2 img{
    width: 90%;
}
.check h3{
    font-size: calc(28 *(100vw/768));
    line-height: 1.6;
    margin-bottom: 8%;
}
.check ul{
    width: 85%;
    margin: 3% auto 8% auto;
    font-size: calc(30 *(100vw/768));
    line-height: 1.6;
    text-indent: -1.3em;
    padding-left: 1.3em;
}   
.check .detail .tx{
    width: 90%;
    font-size: calc(30 *(100vw/768));
}
.check .detail .tx .num{
    font-size: calc(45 *(100vw/768));
}
.check .detail .tx .icon span{
    font-size: calc(19 *(100vw/768));    
    width: 24%;
    display: inline-block;
    margin: 1em 1% 0 0;

}


/* バナー
=========================================================================================== */
.banner img{
    width: 80%;
    filter: drop-shadow(0px 0px 5px rgba(0,175,236,0.8));  
}

/* フッター
=========================================================================================== */
footer h2{
    font-size: calc(28 *(100vw/768));
}
footer ul{
    width: 90%;
}
footer p{
    width: 100%;
    font-size: calc(20 *(100vw/768));
    font-weight: 500;
    margin: 1% auto 15% auto;
}
	
}