/*-----------------------
 body
-------------------------*/
body{
width: 100%;
max-width:1920px;
margin: 0;
padding:87px 0 0 0;
}
.wrap{
width: 1280px;
margin: 0 auto;
}
.wrap.narrow{
width: 960px;
margin: 0 auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

/*-----------------------
 header
-------------------------*/
header{
width: 100%;
height: auto;
padding: 1em 0;
background-color: #fff;
border-top: 5px solid #4592be;
position: fixed;
top: 0;
left: 0;
z-index: 999;
}
header .wrap{
display: flex;
  align-items: center;
justify-content: space-between;
}
header .h_logo{
	display:flex;
	justify-content:flex-start;
	align-items: center;	
}
header .h_logo h1{
font-size: 1.6rem;
}
header .h_logo img{
width: auto;
height: auto;
max-height: 45px;
margin-right: 2em;
}
header .h_tels{
display:flex;
	justify-content:flex-end;
	align-items: center;	
}
header .h_tels .tel{
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
header .h_tels .tel .tel_icon{
text-align: center;
font-size: 1.2rem;
color: #4592be;
font-weight: bold;
margin-right: 1.5em;
}
header .h_tels .tel .tel_icon img{
width: auto;
height: 36px;
margin-bottom: 0.5em;
}
header .h_tels .tel .tel_no a{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    color: #4592be;
    font-weight: bold;
    font-size: 2.25rem;
    margin-bottom: 0.5em;
}
header .h_tels .tel .tel_no a img{
width: 32px;
height: auto;
margin-right: 0.5em;
}
header .h_tels .tel .tel_no a:hover img,
header .h_tels .tel .tel_no a:hover{
opacity: 0.8;
}

header .h_tels a.contact_bt{
background-color: #e89335;
	display:flex;
	justify-content:flex-start;
	align-items: center;
    
padding:0.5em 1em;
font-size: 1.8rem;
font-weight: bold;
color: #fff;
margin-left:0.5em;
}
header .h_tels a.contact_bt img{
width: 27px;
height: auto;
margin-right: 0.5em;
}
header .h_tels a.contact_bt:hover img,
header .h_tels a.contact_bt:hover{
opacity: 0.8;
}

/*-----------------------
 mv
-------------------------*/
section.mv{
width: 100%;
min-height: 690px;
background-image: url("../images/mv_back_img01.png");
background-size:auto 100%;
background-position: center center;
}

section.mv .wrap{
padding-top: 6vw;
text-align: center;
}
section.mv .wrap h2{
font-family: 'Noto Sans JP';
font-size: 5rem;
font-weight:900;
  color          : #333;            /* 文字の色 */
  letter-spacing :2px;                /* 文字間 */
  text-shadow    : 
       3px  3px 1px #ffffff,
      -3px  3px 1px #ffffff,
       3px -3px 1px #ffffff,
      -3px -3px 1px #ffffff,
       3px  0px 1px #ffffff,
       0px  3px 1px #ffffff,
      -3px  0px 1px #ffffff,
       0px -3px 1px #ffffff;        /* 文字の影 */
       margin-bottom: 4vw;
}
section.mv .wrap h2 strong{
color: #e89335;
}
section.mv .wrap p.hang img{
width:auto;
height: auto;
max-height: 120px;
}

section.mv ul.calist{
display: flex;
  justify-content: center;
  align-items:stretch;
  margin-top: 4vw;
}

section.mv ul.calist li{
width: 22%;
margin: 0 1em;
background-color: #4592be;
padding:1.5em 0;
border-radius: 2em;
color: #fff;
  line-height:1.25;
}
section.mv ul.calist li > p{
line-height: 2;
font-size: 1.6rem;
}

section.mv ul.calist li .hsub{
display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom:0.5em;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
}
section.mv ul.calist li .hsub img{
margin-right: 1em;
width: auto;
height: auto;
max-height: 60px;
}
section.mv ul.calist li .hsub span{
color: #f1e6ab;
}
section.mv ul.calist li .hsub strong{
font-size: 3.2rem;
}

/*-----------------------
 contact
-------------------------*/
section.contact .wrap{
padding: 5vw 0;
}
section.contact .wrap .inner{
width: 800px;
margin: 0 auto;
background-color: #4592be;
border-radius: 1em 1em 0 0;
padding: 2em 0.5em 0.5em 0.5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.contact .wrap .inner h2{
text-align: center;
font-size: 3.6rem;
font-weight: bold;
color: #fff;
margin-bottom:0.75em;
}
section.contact .wrap .inner h2 strong{
color: #f1e6ab;
}
section.contact .wrap .inner h2 span{
font-size: 1.7rem;
padding: 0.25em 1em;
border: 1px solid #fff;
display:inline-block;
margin-right: 1em;
}
section.contact .wrap .inner form{
background-color: #fff;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding:3em 4em;
}
section.contact .wrap .inner form table{
display:table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
font-size: 1.6rem;
line-height: 1.5;
border-spacing:0;
}
section.contact .wrap .inner form table td{
padding:1em 0;
border-bottom: 2px solid #dfdfdf;
}
section.contact .wrap .inner form table td.nobor{
border-bottom: none;
padding:2em 0 0.5em 0;
}
section.contact .wrap .inner form table td.nobor .poriformError{

margin-left:1em;
}


section.contact .wrap .inner form table td i{
color: #fff;
background-color: #c51313;
padding: 0 0.25em;
margin-right: 1em;
font-size: 1.4rem;
}
section.contact .wrap .inner form table td i.nini{
background-color: #e89335;
}

section.contact .wrap .inner form table td input[type=text],
section.contact .wrap .inner form table td input[type=mail]{
font-size: 16px;
padding: 0.5em;
border: none;
background-color: #ecf4f8;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.contact .wrap .inner form table td input[type=text].short{
width: 80%;
margin-right: 1em;
}
section.contact .wrap .inner form table td:nth-of-type(1){
width: 40%;
}
section.contact .wrap .inner form table td:nth-of-type(2){
width: 60%;
}
section.contact .wrap .inner form table td button{
background-color: #4592be;
color: #fff;
font-weight: bold;
font-size: 2rem;
border:1px solid #4592be;
padding:0.5em 4em;
cursor: pointer;
}
section.contact .wrap .inner form table td button:hover{
background-color:#fff; 
color: #4592be;
}
section.contact .wrap .inner form table td input[type=radio]{
display: none;
}
section.contact .wrap .inner form table td input[type=checkbox]{
visibility: hidden;
}
section.contact .wrap .inner form table td label{
cursor: pointer;
margin-right: 1em;
padding-left: 1.5em;
background-image: url("../images/icon_chk.svg");
background-position:center left;
background-repeat: no-repeat;
background-size: auto 16px;
}
section.contact .wrap .inner form table td input[type=radio]:checked + label,
section.contact .wrap .inner form table td input[type=checkbox]:checked + label{
background-image: url("../images/icon_cheked.svg");
}


/*-----------------------
 h2
-------------------------*/
h2.sub{
font-size: 2.4rem;
font-weight: bold;
color: #333;
background: linear-gradient(-180deg,transparent 0,transparent 40%,#dae9f2 40%,#dae9f2 60%,transparent 60%,transparent 100%);
text-align: center;
margin-bottom:3vw;
}
h2.sub img{
width: auto;
height: auto;
max-width: 250px;
margin-right: 0.5em;
}
h2.sub span{
background-color: #fff;
padding: 0 1em;
}


/*-----------------------
 riyu
-------------------------*/
section.riyu .wrap{
padding:2vw 0;
}
section.riyu .riyuin{
	display:flex;
	align-items:stretch;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
}
section.riyu .riyuin section{
width: 48%;
background-color: #ecf4f8;
margin-bottom: 3em;
border-radius: 1em 1em 0 0;
padding-bottom: 1em;
}
section.riyu .riyuin section h3{
font-size: 2rem;
padding: 1em 0;
font-weight: bold;
color: #fff;
text-align: center;
background-color:#4592be;
border-radius: 1em 1em 0 0;
}
section.riyu .riyuin section .mes{
padding: 2em;
font-size: 1.4rem;
line-height: 1.5;
}
section.riyu .riyuin section .mes img{
width: auto;
height: auto;
max-width:120px;
margin-right:2em;
float: left;
}

/*-----------------------
 hihaku
-------------------------*/

section.hihaku table{
line-height: 2;
font-size: 1.8rem;
width: 100%;
border-collapse:collapse;
border-spacing:0;
empty-cells:show;
display: table;
margin-bottom:2em;
}
section.hihaku table img{
width: auto;
height: auto;
max-width: 160px;
}
section.hihaku table th,
section.hihaku table td{
text-align: center;
padding: 1em 0;
width: 25%;
}

section.hihaku table th{
font-weight: bold;
}
section.hihaku table tr:nth-child(even) td{
background-color: #ecf4f8;
}
section.hihaku table tr td:nth-of-type(1){
font-weight: bold;
color: #4592be;
}
section.hihaku table tr td:nth-of-type(2){
font-weight: bold;
color: #bc1309;
}

section.hihaku table tr th:nth-of-type(2),
section.hihaku table tr td:nth-of-type(2){
border-left: 2px solid #e89335;
border-right: 2px solid #e89335;
}
section.hihaku table tr:nth-of-type(1) th:nth-of-type(2){
border-top: 2px solid #e89335;
}
section.hihaku table tr:nth-last-of-type(1) td:nth-of-type(2){
border-bottom: 2px solid #e89335;
}
section.hihaku .indm{
font-size: 1.6rem;
}
section.hihaku .indm strong{
color: #bc1309;
}


/*-----------------------
 whats
-------------------------*/
.wrap.narrow.bbox{
border: 10px solid #dae9f2;
padding:0 3em 3em 3em;
}
h2.tup{
text-align: center;
position: relative;
margin-bottom: 3em;
}
h2.tup span{
font-size: 2.6rem;
font-weight: bold;
color: #333;
padding: 0.5em 1em;
background-color: #fff;
display: inline-block;
position:absolute;
top:-1.25em;
left:50%;
transform: translateX(-50%); 
}
h2.tup span img{
width: auto;
height: auto;
max-height: 32px;
margin-right: 0.5em;
}

section.whats{
padding: 5vw 0;
text-align: center;
line-height: 2;
}

section.whats .cach{
font-size: 2.4rem;
font-weight: bold;
color: #333;
text-align: center;
margin:1.5em 0;
}
section.whats .cach img{
width: auto;
height: auto;
max-width: 220px;
}
section.whats p.txtC{
margin-bottom: 3em;
}
section.whats .wrap.narrow.bbox > img{
width: auto;
height: auto;
max-width: 100%;
}


/*-----------------------
 qanda
-------------------------*/
section.qanda{
padding-bottom: 5vw;
}

section.qanda dl{
margin-top: 2em;
font-size: 1.6rem;
line-height: 1.5;
}

section.qanda dl dt{
color: #4592be;
font-size: 1.7rem;
font-weight: bold;
text-decoration: underline;
margin-bottom: 0.5em;
}
section.qanda dl dt:before{
content: "Q";
color: #bc8d1b;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
margin-right: 1em;
}
section.qanda dl dd{
margin-bottom: 2em;
padding-left: 2em;
}



/*-----------------------
 come
-------------------------*/
section.come{
padding: 0;
width: 100%;
background-color: #ecf4f8;
}
section.come:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
section.come .wrap{
display: flex;
  justify-content: center;
  align-items:stretch;
}
section.come .wrap > div{
width: 50%;
}
section.come .wrap div.leftbox iframe{
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

section.come .wrap div.rightbox{
padding: 3vw;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 2;
}
section.come .wrap div.rightbox h2{
font-size: 1.6rem;
font-weight: bold;
text-align: center;
color: #fff;
padding: 0.5em 0;
border-radius: 1em;
background-color: #4592be;
margin-bottom: 2em;
}
section.come .wrap div.rightbox table{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.come .wrap div.rightbox table td{
padding: 1em 0;
border-bottom: 1px solid #999;
}
section.come .wrap div.rightbox table tr:nth-last-of-type(1) td{
border-bottom: none;
}


/*-----------------------
 page-top
-------------------------*/
#page-top{
	width:40px;
	height:40px;
	display:block;
	position:fixed;
	right:5%;
	bottom:5%;
	cursor:pointer;
	  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  z-index:998;
}
#page-top img{
	width:40px;
	height:40px;
}
#page-top:hover{
	opacity:0.8;
}

/*-----------------------
 footer
-------------------------*/

footer{
width: 100%;
padding: 5vw 0;
}

/*-----------------------
 thanks
-------------------------*/
section.thanks{
padding:5vw 0 10vw 0;
font-size: 1.6rem;
}
section.thanks .wrap{
line-height: 2;
}
section.thanks h2{
font-size: 2.4rem;
font-weight:bold;
color: #4592BE;
}



/*---------------------------------------------*
* width 1280px
*----------------------------------------------*/
@media screen and (max-width:1280px) {
.wrap {
  width: 100%;
  margin: 0 auto;
}
header .h_logo img {
  width: auto;
  height: auto;
  max-height:3vw;
  margin-right:1vw;
}
header .h_logo h1 {
  font-size: 1.6vw;
}
header .h_tels .tel .tel_no a img {
  width: 3vw;
}
header .h_tels .tel .tel_icon img {
  height:3vw;
}
header .h_tels .tel .tel_no a {
  font-size: 2.25vw;
}
header .h_tels a.contact_bt img {
  width: 2.7vw;
}
header .h_tels a.contact_bt {
  font-size: 1.8vw;
}

section.mv {
  min-height:55vw;
}
section.mv .wrap h2 {
  font-size: 5vw;
}
section.mv .wrap p.hang img {
  max-height: 12vw;
}
section.mv ul.calist li .hsub {
  font-size: 2vw;
}
section.mv ul.calist li .hsub img {
  max-height: 6vw;
}
section.mv ul.calist li .hsub strong {
  font-size: 3.2vw;
}
section.mv ul.calist li > p {
  line-height:1.5;
  font-size: 1.6vw;
}
section.mv ul.calist li {
  width:30%;
}

section.contact .wrap .inner h2 {
  font-size: 3.6vw;
}
section.contact .wrap .inner h2 span {
  font-size: 1.7vw;
}

}
/* width 1280px end --------------------------------------------*/

/*---------------------------------------------*
* width 960px
*----------------------------------------------*/
@media screen and (max-width:960px) {

header .h_tels .tel .tel_icon{
display: none;
}

section.mv ul.calist li {
  width:33%;
}

section.contact .wrap .inner {
  width:85%;
}
section.contact .wrap .inner form {
  padding:1.5em 2em;
}
.wrap.narrow {
  width:98%;
}
section.riyu .riyuin section {
  width: 49%;
}
section.riyu .riyuin section .mes {
  padding:1em;
}
section.riyu .riyuin section .mes img {
  max-width: 12vw;
  margin-right:1em;
}
section.hihaku .indm {
  font-size: 1.4rem;
  line-height: 1.5;
}

h2.sub {
  font-size: 2.4vw;
}
h2.sub img {
  max-width: 25vw;
}
h2.tup span img {
  max-height: 3vw;
}
h2.tup span {
  font-size: 2.6vw;
}

section.hihaku table {
  font-size: 1.6rem;
}


section.whats .cach {
  font-size: 2.4vw;
}
section.whats .cach img {
  max-width: 22vw;
}

section.come .wrap > div.leftbox {
  width:40%;
}
section.come .wrap > div.rightbox {
  width:60%;
}




}
/* width 960px end --------------------------------------------*/

/*---------------------------------------------*
* width 768px
*----------------------------------------------*/
@media screen and (max-width:768px) {
body{
padding:54px 0 0 0; 
}

header {
  padding:0.25em 0;
}
header .wrap {
width: 98%;
margin: 0 auto;
}

header .h_logo {
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      max-width: 150px;
}
header .h_logo img {
  width: auto;
  height: auto;
  max-height:inherit;
  max-width: 170px;
  margin:0 0 0.25em 0;
}
header .h_logo h1 {
  font-size: 1.2rem;
}

header .h_tels a.contact_bt{
max-width:100px;
	display:flex;
	justify-content:flex-start;
	align-items: center;
    padding:3px 0.5em;
    line-height: 1.5;
}
header .h_tels .tel .tel_no a {
  margin-bottom: 0;
}

header .h_tels .tel .tel_no a span,
header .h_tels .tel .tel_no p{
display: none;
}
header .h_tels a.contact_bt img,
header .h_tels .tel .tel_no a img {
  width:auto;
  height: 30px;
}
header .h_tels a.contact_bt {
  font-size: 1rem;
}

section.mv .wrap {
  padding:6vw 1%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.mv .wrap h2 {
  font-size: 4.5vw;
}
section.mv ul.calist{

  justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

section.mv ul.calist li {
  width:28%;
  margin: 0 1% 1.5em 1%;
  padding:2% 1%;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.mv ul.calist li .hsub img {
  margin-right:1vw;
}
section.mv ul.calist li .hsub strong {
  font-size:2.2rem;
}

section.mv ul.calist li > p,
section.mv ul.calist li .hsub {
  font-size:1.6rem;
}
section.mv ul.calist li .hsub br,
section.mv ul.calist li > p br{
display: none;
}

section.contact .wrap .inner h2 {
  font-size:2rem;
}
section.contact .wrap .inner h2 span {
  font-size:1.2rem;
  margin-right: 0.5em;
}

section.contact .wrap .inner {
  width:98%;
}

section.come .wrap {
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.come .wrap > div.rightbox,
section.come .wrap > div.leftbox {
  width:100%;
  min-height: 300px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}


}
/* width 768px end --------------------------------------------*/

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {

section.mv ul.calist li {
  width:46%;
  margin: 0 1% 1.5em 1%;
}

section.contact .wrap .inner form {
  padding: 1.5em 1em;
}
section.contact .wrap .inner form table {
  font-size: 1.4rem;
}
section.contact .wrap .inner form table td:nth-of-type(2),
section.contact .wrap .inner form table td:nth-of-type(1) {
  width:100%;
  display: block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

section.contact .wrap .inner form table td {
  border-bottom:1px solid #dfdfdf;
}
section.contact .wrap .inner form table td:nth-of-type(1) {
border-bottom: none;
padding-bottom: 0;
}
section.contact .wrap .inner form table td button {
  font-size:1.6rem;
}

section.riyu .riyuin section {
  width:100%;
}
section.riyu .riyuin section .mes img {
  max-width:80px;
  margin-right:0.5em;
}
h2.tup span,
h2.sub {
  font-size: 2rem;
}

h2.sub img {
  max-width:140px;
}
h2.tup span img{
max-height: 30px;
}
h2.tup span {
  display:block;
  width: 80%;
top: -1.25em;  
}
.wrap.narrow.bbox {
  border:7px solid #dae9f2;
  padding: 0 1em 1em 1em;
}
section.whats h2.tup span{
top: -1.75em;
}


section.hihaku .scr{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow-x:auto;
padding: 1.5em 0;
position: relative;
}
section.hihaku .scr table{
min-width: 600px;
margin-bottom: 0;
}

section.whats {
  padding:10vw 0;
}
section.qanda {
  padding-bottom:10vw;
}
section.qanda dl dd {
  padding-left:0em;
}
section.come .wrap div.rightbox {
  padding:6vw 3vw;
}

}
/* width 640px end --------------------------------------------*/

/*---------------------------------------------*
* width 480px
*----------------------------------------------*/
@media screen and (max-width:480px) {

section.mv ul.calist li {
  width:96%;
}
section.hihaku .scr:after{
content: "スクロール▶";
top: 0;
right: 0;
font-size: 1.2rem;
color: #999;
position: absolute;
}
section.come .wrap div.rightbox table td {
  padding:0.5em 0;
}
section.come .wrap div.rightbox table td:nth-of-type(1){
min-width:9em;
font-size: 1.4rem;
}

section.come .wrap div.rightbox h2 {
  margin-bottom:3vw;
}

}
/* width 480px end --------------------------------------------*/

/*---------------------------------------------*
* width 375px
*----------------------------------------------*/
@media screen and (max-width:375px) {
}


