/*-----------------------
 common
-------------------------*/
body{
padding-top: 50px;
background-color: #f2f2f2;
}

.wrap{
width: 960px;
margin: 0 auto;
background-color: #fff;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

h2.sub{
color: #fff;
text-align: center;
font-size: 2.4rem;
line-height: 1;
background-color: #000066;
padding: 0.5em 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
h2.sub.blue{
background-color: #172397;
}
h2.sub.lightblue{
background-color: #0599d9;
}

/*-----------------------
 header
-------------------------*/
header{
background-color: #f2f2f2;
width: 100%;
height:50px;
display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
header .wrap{
display: flex;
height:50px;
  justify-content: center;
  align-items: center;
justify-content: space-between;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0 0.5vw;
background-color: #fff;
border-bottom: 1px solid #fadfe1;
}
header .wrap .logo{
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
header .wrap .logo a{
color: #172397;
font-weight: bold;
font-size: 2.8rem;
letter-spacing: 2px;
margin-right: 1em;
}
header .wrap .logo h1 strong{
color: #172397;
font-weight: bold;
margin-right: 1em;
}
header .wrap .contact{
	display:flex;
	justify-content:flex-end;
	align-items: center;	
}
header .wrap .contact a.btn{
background-color: #49a2fd;
display: block;
color: #fff;
font-weight: bold;
padding:0.75em 1em;
border-radius:0.25em;
margin-left:1em;
}
header .wrap .contact .tels a{
color: #fd8e29;
font-weight:bold;
font-size: 2.1rem;
letter-spacing: 2.5px;
}
header .wrap .contact .tels{
width: 170px;
    -moz-text-align-last: justify;
     text-align-last: justify;
     text-justify:inter-ideograph;
}


/*-----------------------
 mv
-------------------------*/
section.mv .wrap{
background-color: #fadfe1;
padding: 2em;
font-weight: bold;
}
section.mv p.catch{
font-size: 2.7rem;
color: #308cea;
font-weight: bold;
}
section.mv h2{
font-size: 4.4rem;
font-weight: bold;
margin: 0.5em 0;
color: #3c3c3c;
}
section.mv p.read{
font-size: 1.8rem;
color: #3c3c3c;
letter-spacing: 1.5px;
}
section.mv ul{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
    margin: 2em 0;
}
section.mv ul li{
border: 1px solid #3c3c3c;
padding:0.5em;
margin-right: 0.5em;
font-size: 2.5rem;
line-height: 1.2;
}
section.mv ul li strong{
display: block;
font-size: 4.5rem;
}
section.mv p.read_red{
font-size:2.4rem;
background-color: #e6002d;
color: #fff;
padding: 0.25em 1em;
margin-bottom:0.5em;
letter-spacing: 1.5px;
}

/*-----------------------
 contact
-------------------------*/
section#contact .wrap{
padding:1vw 1vw 4vw 1vw;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section#contact .wrap p.read{
font-size: 2rem;
line-height: 3.4rem;
text-align: center;
margin-bottom: 1em;
}
section#contact .wrap h2{
font-size: 3rem;
color: #0599d9;
font-weight: bold;
line-height: 3.4rem;
margin-bottom: 1em;
text-align: center;
}
section#contact .wrap form button{
font-size: 2.2rem;
font-weight: bold;
color: #fff;
width: 480px;
height: 50px;
background-color: #0599d9;
border: none;
cursor: pointer;
}
section#contact .wrap form button:hover{
opacity: 0.8;
}
section#contact .wrap ul{
display: flex;
  align-items:stretch;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
justify-content: space-between;
margin-bottom: 2vw;
}
section#contact .wrap ul li{
width:49%;
max-width:49%;
padding: 1vw;
border: 2px solid #0599d9;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 1.8rem;
line-height: 2;
color: #000;
}

section#contact .wrap ul li h3{
font-size: 2rem;
font-weight: bold;
margin-bottom: 1em;
text-decoration: underline;
}
section#contact .wrap ul li dt{
font-weight: bold;
}
section#contact .wrap ul li dd{
margin-bottom: 1em;
}
section#contact .wrap ul li dd input[type=tel],
section#contact .wrap ul li dd input[type=text],
section#contact .wrap ul li dd input[type=email]{
font-size:16px;
padding: 0.25em 0.5em;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section#contact .wrap ul li dd input[type=tel].short,
section#contact .wrap ul li dd input[type=text].short,
section#contact .wrap ul li dd input[type=email].short{
width: 50%;
}
section#contact .wrap ul li dd input[type=radio]{
display: none;
}
section#contact .wrap ul li dd label:not([for=files]){
padding: 0 1.5em;
background-image: url("../images/icon_ragio.svg");
background-position: left center;
background-repeat: no-repeat;
background-size: auto 80%;
cursor: pointer;
}

section#contact .wrap ul li dd input[type=radio]:checked + label{
background-image: url("../images/icon_ragio_chk.svg");
}
section#contact label[for=files]{
    padding: 0.25em 2em;
    color: #000;
    background-color: #fff;
    border: 1px solid #8F8F9D;
    cursor: pointer;
}
section#contact input[type="file"] {
    display: none;
}
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#c9c9c9;
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#c9c9c9;
}
input::placeholder{ /* Others */
 color:#c9c9c9;
}


/*-----------------------
 aside
-------------------------*/
aside.to_contact ul{
display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 1.5vw 2vw 3vw 2vw;
}
aside.to_contact ul a{
width: 410px;
height: 130px;
padding: 1em 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: flex;
  justify-content: center;
  align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      color: #fff;
      background-color:#0599d9;
      border-radius: 1em;
      font-size: 1.8rem;
}
aside.to_contact ul a p{
width: 100%;
text-align: center;
line-height: 1;
}
aside.to_contact ul a p strong{
font-size:4rem;
font-weight: bold;
}
aside.to_contact ul a.tel{
background-color: #fd8e29;
}
aside.to_contact ul a:hover{
opacity: 0.8;
}

/*-----------------------
 hikaku
-------------------------*/
section.hikaku table{
margin: 2vw auto 0 auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 2rem;
color: #000;
font-weight: bold;
width: 92%;
display: table;
border-collapse:collapse;
border-spacing:0;
empty-cells:show;
table-layout: fixed;
}
section.hikaku table td{
text-align: center;
padding: 1em 0.5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.hikaku table tr:nth-child(odd) td{
background-color: #fadfe1;
}
section.hikaku p.read{
font-size: 2.1rem;
text-decoration: underline;
margin:1vw 0 2vw 2vw;
}
section.hikaku .wrap:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
section.hikaku table td:nth-of-type(1),
section.hikaku table td:nth-of-type(2){
font-size: 2.4rem;
}
section.hikaku table td:nth-of-type(2){
font-weight: bold;
color: #c80f0f;
border-left:5px solid #0599d9;
border-right:5px solid #0599d9;
}
section.hikaku table tr:nth-of-type(1) td:nth-of-type(2){
color: #172397;
border-top: 5px solid #0599d9;
}
section.hikaku table tr:nth-last-of-type(1) td:nth-of-type(2){
border-bottom: 5px solid #0599d9;
}


/*-----------------------
 settlement
-------------------------*/
section.settlement .inner{
text-align: center;
line-height: 1.7;
font-size: 1.8rem;
color: #000;
padding: 2vw 0 3vw 0;
}
section.settlement .inner strong{
color: #ff0000;
}

/*-----------------------
 qanda
-------------------------*/
section.qanda dl{
font-size: 1.8rem;
line-height: 2;
padding: 2vw;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.qanda dl dt{
color: #e6002d;
font-weight: bold;
}
section.qanda dl dd{
color: #000;
padding-bottom:1.5vw;
}

/*-----------------------
 thanks
-------------------------*/
section.thanks .wrap{
text-align: center;
}
section.thanks .wrap p.thanks-read{
line-height: 2;
margin: 3em 0;
font-size: 1.8rem;
}
section.thanks .wrap p.backbt{
margin-bottom: 3em;
font-size: 1.8rem;
}
section.thanks .wrap:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}


/*-----------------------
 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;
}


header .sp{
display: none;
}


/*---------------------------------------------*
* width 960px
*----------------------------------------------*/
@media screen and (max-width:960px) {

.wrap{
width:100%;
margin: 0 auto;
padding: 2vw 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
header .wrap{
padding: 0 2%;
}
header .wrap .logo a {
  font-size: 2.8vw;
}
header .wrap .logo h1{
font-size: 1.1vw;
}
header .wrap .contact{
display: none;
}
header .sp{
	display:flex;
	justify-content:flex-end;
	align-items: center;
    margin-right: 1%;
}
header .sp img{
width: auto;
height: 40px;
}
header .sp li{
padding-left: 1em;
}

section.mv ul li {
  font-size: 2.5vw;
}
section.mv ul li strong {
  font-size: 4.5vw;
}
section.mv p.read_red {
  font-size: 2.4vw;
}
section.mv p.catch {
  font-size: 2.7vw;
}
section.mv h2 {
  font-size: 4.4vw;
}
section.mv p.read {
  font-size: 1.8vw;
}

section#contact .wrap p.read {
  font-size: 2vw;
  line-height: 3.4vw;
}
section#contact .wrap h2 {
  font-size: 3vw;
  line-height: 3.4vw;
}
section#contact .wrap ul li h3 {
  font-size: 2vw;
}
section#contact .wrap ul li {
  font-size: 1.8vw;
}
section#contact .wrap form button {
  font-size: 2.2vw;
  width: 50%;
  min-width: 350px;
}

section.hikaku table {
  font-size:2vw;
  width: 96%;
}

section.hikaku table td:nth-of-type(1), section.hikaku table td:nth-of-type(2) {
  font-size: 2.4vw;
}
section.hikaku p.read {
  font-size: 2.1vw;
}

h2.sub {
  font-size: 2.4vw;
}
aside.to_contact ul {
justify-content:space-around;
padding:3vw 2vw 0 2vw;
}
aside.to_contact ul a {
  width: 41vw;
  height: 13vw;
  font-size: 1.8vw;
}
aside.to_contact ul a p strong {
  font-size: 4vw;
  font-weight: bold;
}

section.settlement .inner {
  font-size: 1.8vw;
  color: #000;
  padding:3vw 0 0 0;
}
section.qanda dl {
  font-size: 1.8vw;
  padding: 4vw 4vw 0 4vw;
}

}
/* width 960px end --------------------------------------------*/

/*---------------------------------------------*
* width 768px
*----------------------------------------------*/
@media screen and (max-width:768px) {

header .wrap .logo a {
  font-size:2rem;
  margin-right: 0.5em
}
header .wrap .logo {
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      line-height: 1.25;
}
header .wrap .logo h1{
font-size: 1.1rem;
display:block;
width: 100%;
}

section.mv .wrap {
  padding: 2em 2%;
}
section.mv ul {
  display: flex;
  align-items: stretch;
  margin: 2em 0;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content:space-around;
}

section.mv ul li {
width: 48%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0 0 1em 0;
  font-size:1.8rem;
}
section.mv ul li strong {
  font-size:2.4rem;
}
section.mv p.read_red {
  font-size:1.6rem;
  line-height: 1.25;
}
section.mv p.catch {
  font-size:3.5vw;
}
section.mv h2 {
  font-size:6.5vw;
}
section.mv p.read {
  font-size:4vw;
  line-height: 1.25;
}

.wrap {
  padding: 5vw 0;
}

section#contact .wrap {
  padding:5vw 1vw;
}

section#contact .wrap p.read {
  font-size:3.5vw;
  line-height:1.5;
}
section#contact .wrap h2 {
  font-size:2rem;
  line-height:1.5;
}
section#contact .wrap ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      line-height: 1.5;
}

section#contact .wrap ul li h3 {
  font-size:1.8rem;
  line-height: 1.5;
}
section#contact .wrap ul li {
  font-size: 1.6rem;
  line-height: 1.5;
  width: 100%;
  max-width: inherit;
  padding: 1em;
  margin-bottom: 1em;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section#contact .wrap form button {
  font-size:2rem;
  width: 50%;
  min-width: 350px;
}

section.hikaku table {
  font-size:1.6rem;
  width:auto;
  min-width:640px;
  margin: 5vw auto;
  }
section.hikaku .inner{  
  overflow-x: auto;
}

section.hikaku table td:nth-of-type(1), section.hikaku table td:nth-of-type(2) {
  font-size:1.8rem;
}
section.hikaku p.read {
  font-size:1.6rem;
  line-height: 1.5;
  text-indent: -1em;
  margin-left: 1.5em;
}


h2.sub {
  font-size: 2rem;
  line-height: 1.5;
}
aside.to_contact ul {
justify-content:space-around;
padding:5vw 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
aside.to_contact ul li{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0.5em 0;
}

aside.to_contact ul a {
  width:90%;
  height:auto;
  font-size: 1.6rem;
  padding:0.5em 0;
  margin: 0 auto;
  line-height: 1.5;
}
aside.to_contact ul a p strong {
  font-size:2.4rem;
  font-weight: bold;
}

section.settlement .inner {
  font-size: 1.6rem;
  color: #000;
  padding:5vw 1em 0 1em;
  text-align: left;
}
section.settlement .inner p{
margin-bottom: 1em;
}
section.qanda dl {
  font-size: 1.6rem;
  padding: 5vw 1em 0 1em;
  line-height: 1.5;
}
section.qanda dl dd {
  padding-bottom: 1em;
}

}
/* width 768px end --------------------------------------------*/

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
}
/* width 640px end --------------------------------------------*/

/*---------------------------------------------*
* width 480px
*----------------------------------------------*/
@media screen and (max-width:480px) {
}
/* width 480px end --------------------------------------------*/

/*---------------------------------------------*
* width 375px
*----------------------------------------------*/
@media screen and (max-width:375px) {
}
