@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
margin:0;
padding:0;
font-size:100%;
color:#292f38;
}

a:link {color:#206CFF;text-decoration:underline;}
a:visited {color:#206CFF;text-decoration:underline;}
a:hover {color:#3b5998;text-decoration:none;}
a img {border-style:none;}
img {vertical-align:bottom;}

.clr{clear:both;}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}

p {
font-size:100%;
line-height:160%;
}
@media screen and (min-width:769px){
p {
font-size:18px;
line-height:180%;
letter-spacing:1px;
}
}

@media screen and (max-width:768px){.pcnone{}.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}.spnone{}}



#logo{
margin:0;
padding:10px 0;
text-align:center;
}
#logo img{width:60%;}
#intro{
margin:0;
padding:15px 20px;
font-size:90%;
font-weight:bold;
line-height:180%;
text-align:center;
color:#fff;
background:-moz-linear-gradient(left, #04c2bf, #1b85d0);
background:-webkit-linear-gradient(left, #04c2bf, #1b85d0);
background:linear-gradient(to right, #04c2bf, #1b85d0);
}
h1{
margin:0;
padding:20px 0 25px 0;
text-align:center;
}
h1 img{width:100%;}
.copy_txt {
margin:0 20px 20px 20px;
padding:10px 30px;
font-size:100%;
font-weight:bold;
line-height:180%;
text-align:center;
position:relative;
}
.copy_txt:before, .copy_txt:after{ 
position:absolute;
top:0;
content:'';
width:20px;
height:100%;
display:inline-block;
box-sizing:border-box;
}
.copy_txt:before{
border-left:solid 1px #292f38;
border-top:solid 1px #292f38;
border-bottom:solid 1px #292f38;
left:0;
}
.copy_txt:after{
border-top:solid 1px #292f38;
border-right:solid 1px #292f38;
border-bottom:solid 1px #292f38;
right:0;
}
@media screen and (min-width:769px){
#logo{padding:15px 0;}
#logo img{width:400px;}
#intro{padding:15px 0;font-size:16px;letter-spacing:1px;}
h1{padding:60px 0 45px 0;}
h1 img{width:1000px;}
.copy_txt {
width:450px;
margin:0 auto 30px auto;
padding:10px 0;
font-size:18px;
letter-spacing:1px;
}
}


.device{
margin:0;
padding:0 20px;
text-align:center;
}
.device a:link {
color:#fff;
text-decoration:none;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.device a:hover {
color:#fff;
text-decoration:none;
opacity:0.7;
filter:alpha(opacity=70);
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}
.device a:visited {color:#fff;text-decoration:none;}
.button {
width:100%;
padding:25px 0;
display:inline-block;
font-size:120%;
font-weight:bold;
text-decoration:none;
color:#fff;
text-align:center;
background:#f9a21b;
-webkit-border-radius:45px;
-moz-border-radius:45px;
border-radius:45px;
}

.button_product {
  width:100%;
  margin-top: 10px;
  margin-bottom: 30px;
  padding:10px 0;
  display:inline-block;
  font-size:120%;
  font-weight:bold;
  text-decoration:none;
  color:#fff;
  text-align:center;
  background:#f9a21b;
  -webkit-border-radius:45px;
  -moz-border-radius:45px;
  border-radius:45px;
}

@media screen and (min-width:769px){
.device{padding:0;}
.button {width:600px;font-size:24px;}
.button_product {
  width:60%;
  padding:10px 0;
  display:inline-block;
  font-size:120%;
  font-weight:bold;
  text-decoration:none;
  color:#fff;
  text-align:center;
  background:#f9a21b;
  -webkit-border-radius:45px;
  -moz-border-radius:45px;
  border-radius:45px;
}
}


#reco_bg{
margin:45px 0;
padding:45px 20px;
background:#eaf6fd;
}
.reco_title{
margin:0;
padding:0;
font-size:125%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#00a0e9;
}
.reco_box{
margin:0 auto;
padding:10px 0 0 0;
}
.reco{margin:0;padding:0;}
table.check{
width:100%;
border-collapse:collapse;
margin:0;
}
table.check th{
width:35px;
font-size:100%;
line-height:180%;
padding:10px 0 5px 0;
color:#1b85d0;
vertical-align:top;
text-align:left;
}
table.check td{
font-size:100%;
font-weight:bold;
line-height:180%;
padding:10px 0 5px 0;
border-bottom:dotted 1px #999999;
vertical-align:top;
}
@media screen and (min-width:769px){
#reco_bg{margin:90px 0;padding:75px 0 75px 0;}
.reco_title{font-size:28px;letter-spacing:1px;}
.reco_box{
width:1100px;
margin:0 auto;
padding:30px 0 0 0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
.reco{width:48%;}
table.check th{font-size:18px;}
table.check td{font-size:18px;letter-spacing:1px;}
}


.merit_top{
margin:0 20px;
padding:0;
font-size:150%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Sans Japanese";
}
.merit_box{
margin:30px 20px 0 20px;
padding:0;
}
.merit{
margin:0 0 30px 0;
padding:0;
}
.merit_number{
margin:0;
padding:0 0 15px 0;
font-size:24px;
font-weight:bold;
line-height:100%;
text-align:center;
font-family: 'Roboto Condensed', sans-serif;
}
.merit_number span{
padding:5px 14px;
color:#fff;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
background:-moz-linear-gradient(left, #04c2bf, #1b85d0);
background:-webkit-linear-gradient(left, #04c2bf, #1b85d0);
background:linear-gradient(to right, #04c2bf, #1b85d0);
}
.merit_title{
margin:0;
padding:0 0 10px 0;
font-size:125%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#1b85d0;
}
.merit_pict{
margin:0;
padding:0;
}
.merit_pict img{width:100%;}
@media screen and (min-width:769px){
.merit_top{
margin:0;
font-size:36px;
line-height:150%;
letter-spacing:1px;
}
.merit_box{
width:1200px;
margin:55px auto 0 auto;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
.merit{width:32%;margin:0;}
.merit_number{padding:0 0 25px 0;}
.merit_title{font-size:20px;}
}



#container {
margin:0;
padding:30px 0 0 0;
}

h2{}
h3{}
h4{}

.subtitle{
margin:0;
padding:0;
font-size:150%;
font-weight:900;
line-height:150%;
text-align:center;
font-family: "Noto Sans Japanese";
}
hr {
width:45px;
margin:15px auto 30px auto;
padding:0;
height:0;
border:0;
border-top:3px solid #0e78c4;
}
.photo{
margin:15px 0 30px 0;
padding:0;
text-align:center;
}
.photo img{width:100%;}
.contents{
margin:0 20px 45px 20px;
padding:0;
}
.contents_box{
margin:30px 15px 45px 15px;
padding:10px 30px 1px 30px;
position:relative;
}
.contents_box::before, .contents_box::after {
content:'';
width:20px;
height:100%;
position:absolute;
}
.contents_box::before {
border-left:solid 1px #666;
border-top:solid 1px #666;
border-bottom:solid 1px #666;
top:0;
left:0;
}
.contents_box::after {
border-right:solid 1px #666;
border-top:solid 1px #666;
border-bottom:solid 1px #666;
top:0;
right:0;
}
.contents_pict{
margin:0;
padding:0 0 10px 0;
text-align:center;
}
.contents_pict img{
width:45%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
box-shadow:0 0 10px rgba(0,0,0,0.2);
}
@media screen and (min-width:769px){
#container {padding:90px 0 0 0;}
.subtitle{
margin:0;
padding:0;
font-size:32px;
line-height:150%;
text-align:center;
}
hr {margin:25px auto 45px auto;}
.photo{margin:20px 0 30px 0;}
.contents{
width:768px;
margin:0 auto 90px auto;
padding:0;
}
.contents_box{
width:768px;
margin:0 auto 90px auto;
padding:0 120px;
}
.contents_pict img{width:240px;}
}



.prf_ipma{
margin:0;
padding:0;
text-align:center;
}
.prf_ipma img{width:240px;}
.prf{
margin:30px 0 0 0;
padding:0;
}
.prf_photo{
margin:0;
padding:0;
text-align:center;
}
.prf_photo img{width:60%;}
.prf_txt{
margin:0;
padding:15px 0 0 0;
}
.prf_degree{
margin:0;
padding:0;
font-size:100%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.prf_name{
margin:0 0 20px 0;
padding:0 0 5px 0;
font-size:125%;
font-weight:bold;
line-height:150%;
text-align:center;
border-bottom:1px solid #0e78c4;
}
.offer_title{
margin:0;
padding-top:50px;
padding-bottom:30px;
font-size:150%;
font-weight:900;
letter-spacing:1px;
text-align:center;
color:#00a0e9;
font-family: "Noto Sans Japanese";
}
.offer_sub{
margin:0;
padding-bottom:30px;
font-size:110%;
line-height:150%;
text-align:center;
color:#00a0e9;
font-weight: bold;
}
.offer_product{
  color:#00a0e9;
  }
.offer{
margin:10px 0 30px 0;
padding:1px 25px;
border:2px solid #00a0e9;
}
.press{
margin:20px 20px 45px 20px;
padding:0;
}
.press img{width:100%;margin-bottom:10px;}

@media screen and (min-width:769px){
.prf_ipma img{width:320px;}
.prf{
margin:45px 0 0 0;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content:space-between;
}
.prf_photo{width:30%;text-align:left;}
.prf_photo img{width:100%;}
.prf_txt{width:66%;padding:0;}
.prf_txt p{font-size:16px;}
.prf_degree{font-size:18px;letter-spacing:1px;text-align:left;}
.prf_name{font-size:28px;letter-spacing:1px;text-align:left;}

.offer_title{
font-size:32px;
font-weight:900;
line-height:150%;
letter-spacing:1px;
}

.offer_sub{font-size:130%
  ;letter-spacing:1px;}
.offer{margin:10px 0 30px 0;padding:10px 45px;}
.press{width:768px;margin:30px auto 90px auto;}
}

#form{
margin:0;
padding:45px 15px 45px 15px;
background:-moz-linear-gradient(left, #04c2bf, #1b85d0);
background:-webkit-linear-gradient(left, #04c2bf, #1b85d0);
background:linear-gradient(to right, #04c2bf, #1b85d0);
}
.device_title{
margin:0;
padding:0 0 30px 0;
font-size:100%;
font-weight:bold;
line-height:100%;
text-align:center;
color:#fff;
}
.device_title span{
padding:5px 20px;
border:1px solid #fff;
}
.device_txt{
margin:0 0 15px 0;
padding:0;
font-size:120%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#fff;
}
#calendar{
margin:0 auto;
padding:15px 0 0 0;
}
.month{
margin:0;
padding:0 0 10px 0;
font-size:150%;
font-weight:bold;
line-height:120%;
text-align:center;
color:#fff;
}
.month span{
font-size:60%;
}
table.calendar{
width:100%;
border-collapse:separate;
margin:0;
border-top:solid 1px #fff;
}
table.calendar th{
width:14.2%;
font-size:90%;
line-height:100%;
padding:8px 0;
color:#fff;
}
table.calendar td{
padding:10px 5px;
vertical-align:top;
background:#fff;
}
.day{
margin:0;
padding:0;
font-size:95%;
font-weight:bold;
line-height:100%;
color:#152b52;
font-family:Arial, Helvetica, sans-serif;
}
.status{
width:100%;
margin:10px 0 0 0;
padding:5px 0 5px 0;
font-size:85%;
display:inline-block;
text-decoration:none;
color:#fff;
background:#ccc;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
#calendar a:link {
color:#fff;text-decoration:none;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
#calendar a:visited {color:#fff;text-decoration:none;}
#calendar a:hover {color:#fff;text-decoration:none;}
.enter {
width:100%;
margin:10px 0 0 0;
padding:5px 0 5px 0;
font-size:85%;
display:inline-block;
text-decoration:none;
color:#fff;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
background:-moz-linear-gradient(left, #f7953f, #f3b241);
background:-webkit-linear-gradient(left, #f7953f, #f3b241);
background:linear-gradient(to right, #f7953f, #f3b241);
}
.enter:hover {
opacity:0.7;
filter:alpha(opacity=70);
}
.calendar_caption{
margin:10px 0 0 0;
padding:0;
font-size:14px;
line-height:150%;
letter-spacing:1px;
text-align:center;
}


@media screen and (min-width:769px) {
#form{padding:75px 0 90px 0;}
.device_title{padding:0 0 30px 0;font-size:20px;}
#calendar{
width:1200px;
margin:0 auto;
padding:0;
}
.month{
margin:0;
padding:0 0 10px 0;
font-size:21px;
font-weight:bold;
line-height:150%;
letter-spacing:1px;
text-align:center;
color:#fff;
}
.month span{
font-size:16px;
}

table.calendar{
width:100%;
border-collapse:separate;
margin:0;
border-top:solid 1px #fff;
}
table.calendar th{
width:14.2%;
font-size:16px;
line-height:100%;
letter-spacing:1px;
padding:10px 0;
color:#fff;
}
table.calendar td{
padding:10px;
vertical-align:top;
background:#fff;
}
.day{
margin:0;
padding:0;
font-size:18px;
font-weight:bold;
line-height:100%;
color:#152b52;
font-family:Arial, Helvetica, sans-serif;
}
.status{
width:100%;
margin:10px 0 0 0;
padding:5px 0 5px 0;
font-size:16px;
display:inline-block;
text-decoration:none;
color:#fff;
background:#ccc;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}

#calendar a:link {
color:#fff;text-decoration:none;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
#calendar a:visited {color:#fff;text-decoration:none;}
#calendar a:hover {color:#fff;text-decoration:none;}

.enter {
width:100%;
margin:10px 0 0 0;
padding:5px 0 5px 0;
font-size:16px;
display:inline-block;
text-decoration:none;
color:#fff;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
background:#f3920b;
}
.enter:hover {
opacity:0.7;
filter:alpha(opacity=70);
}
.calendar_caption{
margin:10px 0 0 0;
padding:0;
font-size:14px;
line-height:150%;
letter-spacing:1px;
text-align:center;
}
}





.faq{
margin:45px 20px 45px 20px;
padding:0;
}
.qus{
margin:30px 0 10px 0;
padding:3px 0 5px 28px;
font-size:100%;
font-weight:bold;
line-height:150%;
position:relative;
color:#0e78c4;
border-bottom:dotted 1px #999;
}
.qus:after {
position:absolute;
top:0;
left:0;
content:"Q.";
font-size:24px;
color:#0e78c4;
font-family: 'Roboto Condensed', sans-serif;
}
.ans{
margin:0;
padding:0 0 0 28px;
}
@media screen and (min-width:769px){
.faq{
width:768px;
margin:90px auto 120px auto;
padding:0;
}
.qus{
margin:45px 0 10px 0;
font-size:18px;
letter-spacing:1px;
}
.ans{margin:0;}
}






.page_title{
margin:30px 0;
padding:0;
font-size:120%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.contents_sub{
margin:0 20px 45px 20px;
padding:0;
}
.contents_sub p{font-size:80%;}
table.spec{
width:100%;
border-collapse:collapse;
margin:0;
}
table.spec th{
font-size:90%;
line-height:150%;
padding:0 0 5px 0;
border-bottom:solid 1px #999;
text-align:left;
display:block;
}
table.spec td{
font-size:90%;
line-height:150%;
padding:10px 0 20px 0;
display:block;
}
@media screen and (min-width:769px){
.page_title{
margin:45px 0;
font-size:24px;
letter-spacing:1px;
}
.contents_sub{width:650px;margin:0 auto 90px auto;}
.contents_sub p{font-size:14px;}
table.spec th{
width:180px;
font-size:14px;
line-height:160%;
letter-spacing:1px;
padding:20px 15px 15px 0;
border-bottom:solid 1px #999;
text-align:left;
display:table-cell;
}
table.spec td{
font-size:14px;
line-height:160%;
letter-spacing:1px;
padding:20px 15px 15px 15px;
border-bottom:dotted 1px #999;
display:table-cell;
}
}


/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.red {color:#d0111b;}
.blue{color:#49bbbc;}
.green{color:#41c9b4;}
.through{text-decoration:line-through;}
.ym{font-weight:bold;background:linear-gradient(transparent 70%, #ffe113 70%);}
.caption{font-size:75%;color:#666666;font-weight:normal;line-height:150%;}

.center{text-align:center;}
.right{text-align:right;}

.mt{margin-top:30px;}
@media screen and (min-width:769px){.mt{margin-top:45px;}}


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

#footer{
margin:0;
padding:20px 0;
text-align:center;
color:#fff;
background:#64727a;
}
.footer_link{
margin:0;
padding:0;
font-size:70%;
line-height:150%;
}
.footer_ad{
margin:10px 0 0 0;
padding:0;
font-size:70%;
line-height:150%;
font-family:Arial, Helvetica, sans-serif;
}
@media screen and (min-width:769px){
#footer{padding:30px 0;}
.footer_link{font-size:12px;letter-spacing:1px;}
.footer_ad{font-size:12px;}
}

#footer a:link {color:#fff;text-decoration:none;}
#footer a:visited {color:#fff;text-decoration:none;}
#footer a:hover {color:#fff;text-decoration:underline;}


/*------------------------

ipma

---------------------------*/
.ipma {
    background: #e6e8ea;
    padding: 40px;
  }
  
  @media (max-width: 768px) {
    .ipma {
      padding: 20px;
    }
  }
  
  @media (max-width: 600px) {
    .ipma {
      padding: 10px;
    }
  }
  
  .ipma_wrapper {
    background: #fff;
    border-radius: 20px;
    padding: 80px 0;
  }
  
  @media (max-width: 600px) {
    .ipma_wrapper {
      padding: 40px 0;
    }
  }
  
  .ipma_logo {
    max-width: 480px;
    margin: 0 auto;
  }
  
  @media (max-width: 600px) {
    .ipma_logo {
      padding: 0 40px;
    }
  }
  
  .ipma_person {
    margin-top: 60px;
  }
  
  .ipma_person-contents {
    width: 50%;
  }
  
  @media (max-width: 768px) {
    .ipma_person-contents {
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding: 0 15px;
    }
  }
  
  .ipma_person p {
    color: #333;
  }
  
  @media (max-width: 768px) {
    .ipma_person p {
      text-align: center;
    }
  }
  
  @media (max-width: 600px) {
    .ipma_person p {
      font-size: 12px;
    }
  }
  
  .ipma_person p.ipma_person-lic {
    color: #1ea235;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.5;
  }
  
  @media (max-width: 768px) {
    .ipma_person p.ipma_person-lic {
      text-align: center;
      margin-top: 1em;
    }
  }
  
  @media (max-width: 600px) {
    .ipma_person p.ipma_person-lic {
      font-size: 16px;
    }
  }
  
  .ipma_person-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 40px;
  }
  
  @media (max-width: 768px) {
    .ipma_person-box {
      display: block;
    }
  }
  
  .ipma_person-box2 {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  
  .ipma_person-box2 p.ipma_person-lic {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
  }
  
  .ipma_person-photo {
    max-width: 400px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  
  @media (max-width: 600px) {
    .ipma_person-photo {
      width: 80%;
    }
  }
  
  .ipma_subhead {
    text-align: center;
    font-weight: 700;
  }
  
  .ipma_name {
    text-align: center;
    font-weight: 400;
    font-size: 18px;
    margin-top: 20px;
  }
  
  .ipma_name .name {
    font-size: 28px;
    font-weight: 500;
  }
  
  .ipma_mission {
    max-width: 1000px;
    margin: 0 auto;
    margin-top: 80px;
  }
  
  @media (max-width: 1024px) {
    .ipma_mission {
      padding: 0 25px;
    }
  }
  
  @media (max-width: 600px) {
    .ipma_mission {
      padding: 0 15px;
    }
  }
  
  .ipma_mission-subtext {
    margin: 0 auto;
    width: 50%;
    margin-top: 40px;
  }
  
  @media (max-width: 600px) {
    .ipma_mission-subtext {
      width: 80%;
      margin-top: 20px;
    }
  }
  
  .ipma_mission-text {
    margin: 0 auto;
    width: 100%;
    margin-top: 40px;
  }
  
  .ipma_mission-img {
    margin: 0 auto;
    width: 80%;
    margin-top: 40px;
  }
  
  @media (max-width: 600px) {
    .ipma_mission-img {
      width: 90%;
    }
  }

  .ipma img{
    width: 100%;
    height: auto;
  }