html { 
overflow-y:scroll;
}

.clear{
clear: both;
}

.pc{ display:block; }
.sp{ display:none; }
@media only screen and (max-width: 767px) {
.pc{ display:none; }
.sp{ display:block; }	
}

a:link,
a:visited{
color: #005fc3;
text-decoration: none;
}

a:hover{
color: #6296ca;
text-decoration: none;
}



body{
text-align:left;
font-family:"ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
color: #333;

padding: 0 20px
}
@media only screen and (min-width: 768px) {
body{
min-width: 980px;
}
}
@media only screen and (max-width: 767px) {
body{
width:100%;
background:none;
padding: 0
}
}


/*ヘッダー*/
@media only screen and (min-width: 768px) {
#head {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
width: 100%;
max-width: 960px;
margin: 30px auto;
padding:0px;
box-sizing: border-box;
}
}
@media only screen and (max-width: 767px) {
#head {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
align-items: flex-end;
width: 100%;
padding: 10px;
box-sizing: border-box;
}
#head .logo img{
width: 170px;
}
#head .back img{
width: 130px;
}
}
@media only screen and (max-width: 540px) {
#head .logo img{
width: 150px;
}
#head .back img{
width: 115px;
}
}


/*カード会員限定*/
#komeri_aqua{
background-color:#FFFFFF;
color:#000;
font-size:1.8em;
font-weight:bold;
padding:10px 0;
margin:0;
padding-left:2.0em;
text-align:left;
position:relative;
}
@media only screen and (max-width: 767px) {
#komeri_aqua{
font-size:3.8vw;
text-align:left;
padding-left:1.0em;
padding-bottom:5px;
}
}
#komeri_aqua span{
text-align:center;
background: #000;
color: #fff;
padding: 2px 0;
display: block;
width: 5.0em;
position: absolute;
top: 7px;
right: 2%;
}
@media only screen and (max-width: 767px) {
#komeri_aqua span{
font-size:0.8em;
}
}


/*コンテンツ*/
#contents{
max-width: 960px;
margin: 0 auto;
padding-bottom: 10px;
clear: both;
}
#contents img{
width: 100%;
margin: 0 auto;
max-width: 960px;
text-align:center;
}
#contents a:hover img{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
background: #fff;
}
div.image{
text-align:center;
}
#contents .mainImage{
margin: 0;	
}
.wrapper{
}
.detail-inner {
width: 100%;
max-width: 960px;
/*padding: 0 20px;*/
margin: 0 auto 20px;
box-sizing: border-box;
}
.hako01 {
margin: 60px auto 30px; 
}
.hako01 h2 {
border-bottom: 4px solid #ae0e16;
font-weight: bold; 
margin: 20px auto;
font-feature-settings: "palt"; 
}
.hako01 h2 span {
color: #fff;
font-size: 1.5em;
background: #ae0e16;
display: inline-block;
padding: 0.6rem 0 0.6rem 1.25rem;
width: 30%;
margin-bottom: -4px; 
}
.flame{
box-sizing: border-box;
width: 100%;
margin: 0 auto 20px; 
}
.spacer-area {
position: relative;
margin: 1em 0; 
}
.item-thumb_1 {
position: absolute;
top: 75%;
width: 46%;
height: 20%;
left: 3%;  
}
.item-thumb_1 a {
display: block;
width: 100%;
height: 100%;
}
.item-thumb_2 {
position: absolute;
top: 75%;
width: 46%;
height: 20%;
right: 3%;
}
.item-thumb_2 a {
display: block;
width: 100%;
height: 100%;
}
.flame.radiusHead{
padding: 0 0 1.6em 0
}
.flame h3{
color: #fff;
font-weight: bold;
font-size: 1.6em;
text-align: center;
padding: 0.4em;
background: #e83820;
border-top-left-radius: 30px;
border-top-right-radius: 30px;
width: 100%;
margin: 0 ;
box-sizing: border-box
}
.inner{
padding: 0 20px
}
.ma2rem{
margin: 2rem 0
}
.discList{
margin-left: 5em
}
.discList li{
line-height: 1.5;
margin-bottom: 0.5em;
list-style-type: disc
}

.text_summary {
font-size: 1.2em;
line-height: 1.6;
padding: 0; 
}
.text_summary span {
font-size: 16px;
}
.text_summary a {
text-decoration: underline;
vertical-align: baseline; 
}
.text_period {
font-size: 35px;
font-weight: bold; 
letter-spacing: 2px;
padding-bottom: 10px; 
}
.text_period span {
font-size: 25px ;
vertical-align: baseline; 
}
.text_period02 {
font-size: 30px;
font-weight: bold; 
letter-spacing: 2px;
padding-bottom: 10px; 
}
.text_period02 span {
font-size: 20px ;
vertical-align: baseline; 
}
#contents .text_apply {
font-size: 1.5em;
line-height: 1.6;
text-align: right;
letter-spacing: 0.05em; 
}
#contents .text_apply a {
text-decoration: underline;
vertical-align: baseline; 
}
#contents .number {
font-size: 2em;
font-weight: bold;
}
#contents .number div {
}
#contents .number img {
margin: 0 25px 0 0;
width: 40px 
}
#contents .number a {
color: #333;
}
#contents .number span {
font-size: 18px;
color: #333;
}
#contents .number p {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
align-items: center; 
font-size: 2.0em;
font-weight: bold;
color: #333;
pointer-events: none;
white-space: nowrap;
padding-bottom: 10px; 
}
#contents .number p span {
font-size: 18px;
color: #333;
}
#contents .noticeTxt {
font-size: 1.2em;
text-align: justify;
font-weight: 400;
margin-left: 20px;
}
#contents ul.ca-notes--list {
margin: 0 0.8em 0 0.8em;
padding: 0 0 0 0.9em;
letter-spacing: 0.05em;
} 
#contents ul.ca-notes--list li {
font-size: 1.25em;
background: none;
list-style-type: disc;
line-height: 1.5;
padding-left: 0;
margin-bottom: 0.6em;
} 

@media only screen and (max-width: 767px) {
#wrapper{
} 
.detail-inner {
padding: 0 15px;
} 
#contents{
width: 100%;
margin: 0 auto;
max-width: 960px;
}	
#contents img{
width: 100%;
margin: 0 auto;
max-width: 960px;
height:auto;
}	 

.flame{
width:100%;
margin: 1.5em auto;
} 
.inner{
padding: 0 10px
} 
.flameHead{
font-size:1.1em;
padding: 10px; 
}
.flame h3{
color: #fff;
font-weight: bold;
font-size: 1.3em;
text-align: center;
padding: 0.3em;
background: #e83820;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
width: 100%;
margin: 0;
box-sizing: border-box
}
.ma2rem{
margin: 1rem 0
} 
.flameContent p {
font-size: 1em;
} 
.discList{
margin: 1em 2em 1em 3em;
font-size: 0.9em;
} 

.hako01 {
width: 100%;
margin: 30px auto 30px;  
}
.hako01 h2 {
margin: 20px auto 10px;
} 
.hako01 h2 span {
font-size: 1.0em;
margin-bottom: -1px;
width: 50%; 
padding: 5px 0 5px 10px;
} 
.text_summary {
font-size: 0.95em;
} 
.text_summary span {
font-size: 0.9em;
} 
.text_period {
font-size: 20px;
padding-bottom: 5px; 
} 
.text_period span {
font-size: 16px;
} 
#contents .text_apply {
font-size: 1em;
letter-spacing: 0; 
} 
.spacer-area {
position: relative;
margin: 1em 0 0.5em 0; 
} 
.item-thumb_1 {
position: absolute;
top: 75%;
width: 45%;
height: 19%;
left: 4%;
}
.item-thumb_1 img {
height: 100% !important;
} 
.item-thumb_2 {
position: absolute;
top: 75%;
width: 45%;
height: 19%;
right: 4%;
}
.item-thumb_2 img {
height: 100% !important;
}  
.text_period02 {
font-size: 18px  
}
.text_period02 span { 
font-size: 16px; 
}
#contents .number p {
font-size: 20px 
} 
#contents .number p span {
font-size: 14px 
} 
#contents .number img {
width: 30px;
margin-right: 15px; 
}  

#contents .noticeTxt {
font-size: 0.95em;
margin: 10px 8px;
} 
#contents ul.ca-notes--ist {
margin: 0 0 0 0.9em;
padding: 0 0.75em;
letter-spacing: 0;
}
#contents ul.ca-notes--list li {
font-size: 0.95em;
background: none;
list-style-type: disc;
padding-left: 0;
}  
}

/*モーダル
--------------------------------------*/
.modal_trigger {
}
.modal_trigger img {
cursor: pointer; 
margin-top: 1rem !important; 
margin-bottom:  1.5rem !important; 
}
.modal_trigger img:hover {
text-decoration: none;
opacity: 0.75;
transition: 0.6s; 
}

@-webkit-keyframes slideRightBg {
0% {
opacity: 0;
left: -50%;
}
100% {
opacity: 1;
left: 0;
}
}

@keyframes slideRightBg {
0% {
opacity: 0;
left: -50%;
}
100% {
opacity: 1;
left: 0;
}
}

.modal_box {
display: none;
height: 100%;
left: 0;
position: fixed;
top: 0;
width: 100%;
z-index: 9999;
}
.modal_bg {
background-color: rgba(30, 30, 30, 0.9);
height: 100%;
width: 100%;
}
.modal_inner {
background-color: #fff;
left: 50%;
padding: 30px 20px 20px;
position: absolute;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
max-width: 900px;
width: 50%;
border-radius: 20px;
box-sizing: border-box; 
}
.modal_close {
cursor: pointer;
position: absolute;
right: 10px;
top: 0;
font-size: 2rem;
}
.service-items {
display: flex;
justify-content: center; 
}
.service-items:nth-child(even) {
flex-direction: row-reverse;
}
#contents .service-items .item-img {
width: 50%;
padding: 0 12px;
display:flex;
justify-content: center;
}
#contents .service-items .item-img img {
margin: 8px 0;
width: 85%; 
}
@media screen and (max-width: 480px) {
.modal_trigger {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.modal_trigger img {
margin-top: 1rem !important;
margin-bottom:  1rem !important;
}  
.modal_trigger li {
width: 47.5%;
margin-top: 20px;
max-width: inherit;
}
.modal_trigger li + li {
margin-left: 0;
}
.modal_inner {
width: 90%;
padding: 25px;
}
.modal_close {
top: 5px;
font-size: 2.2rem;
}
.service-items {
display: flex;
flex-wrap: wrap;
} 
.service-items .item-img {
width: 100%;
padding: 0 12px;
} 
} 
@media screen and (max-width: 767px) {
#contents .service-items .item-img {
width: 50%;
padding: 0 12px;
}
#contents .service-items .item-img img {
width: 100%; 
}
} 
/*よくあるご質問
--------------------------------------*/
.caseNavi {
margin: 40px auto 20px;
text-align: center;
} 
.caseNavi ul {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
}
.caseNavi li {
padding: 15px 0;
width: calc(92% /2);
color: #333;
font-weight: bold;
background-color: #bf0008;
text-align: center;
font-size: 18px;
transition: ease 0.2s opacity;
box-sizing: border-box;
}
.inden  p {
      margin-left: 1rem;
      text-indent: -1rem;
    }
@media only screen and (min-width: 768px) {
.caseNavi li {
margin-top: 1.25rem; 
} 
.caseNavi li:nth-child(-n+2) {
margin-top: 0 
}
} 
.caseNavi li a { 
color: #fff;
min-height: 2.5rem;
line-height: 1.3; 
font-feature-settings: "palt";
display: flex;
align-items: center;
justify-content: center;
cursor: pointer; 
 } 
.title-level01 {
font-size: 22px;
margin-top: 50px;
background: #bf0008;
color: #fff;
padding: 15px 10px;
font-weight: bold;
border: none
} 
 
#contents .QA {
border-bottom: 1px solid #ccc;
padding: 30px 0;
} 

#contents .QA .question {
font-size: 22px;
font-weight: bold;
color: #bf0008;
}
#contents .QA dt, #contents .QA dd {
/*min-height: 28px;*/
} 
 
#contents .QA .question p {
text-indent: -24px;
margin-left: 24px; 
}

#contents .QA .question p::before {
content: "Q.";
font-weight: bold;
margin-right: 8px;
color: #bf0008;
}
#contents .QA .answer {
font-size: 18px;
margin-top: 40px;
} 
#contents .QA .answer p {
text-indent: -24px;
margin-left: 24px;
line-height: 1.7 
}
#contents .QA .answer p::before {
content: "A.";
font-weight: bold;
margin-right: 8px;
color: #004097;
}
#contents .QA .answer p span {
font-weight: bold;
line-height: 1.7 
}
#contents .QA .answer .phone_number {
pointer-events: none; 
}
#contents .QA .answer a {
text-decoration: underline;
line-height: 1.7 
}
 
#contents .sanka {
border: 1px solid #ccc;
padding: 15px;
box-sizing: border-box; 
margin-top: 20px; 
} 
#contents .sanka ul {
margin: 0 
}
#contents .sanka li {
line-height: 1.8;
text-indent: -1em;
padding-left: 1em;
} 
 
#contents .sanka p {
font-size: 20px;
font-weight: bold;
margin-bottom: 10px; 
} 

#contents .sanka2 {
box-sizing: border-box; 
padding-left: 15px;
} 

#contents .sanka2 li {
line-height: 1.8;
text-indent: -1em;
padding-left: 1em;
} 

 
@media only screen and (max-width: 767px) {
.caseNavi {
margin: 20px auto;
}
 
.caseNavi ul { 
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between; 
}
.caseNavi li {
width: calc(97% /2);
font-size: 0.9em;
margin-bottom: 10px;
padding: 10px 5px; 
} 
.title-level01 {
margin-top: 30px;
font-size: 1em;
padding: 10px; 
} 
#contents .QA {
padding: 20px 0; 
} 
#contents .QA .question {
font-size: 1em;
}
#contents .QA .answer { 
font-size: 0.9em;
margin-top: 20px; 
}
#contents .sanka p  { 
font-size: 1em;
text-indent: -1em;
padding-left: 1em;
} 
#contents .sanka li {
font-size: 0.9em; 
} 
}
@media only screen and (max-width: 768px) { 
.caseNavi {
margin: 20px auto;
} 
.caseNavi li {
width: calc(97% /2);
} 
}



/*アプリ誘導*/
ul.appBox{
border-bottom:none;
overflow:hidden;
clear:both;
}

ul.appBox li{
display:block;
float:left;
width:48%;
margin:10px 1% 5px;
}
ul.appBox li span.heading{
display:block;
width:100%;
color:#fff;
text-align:center;
background-color:#E50012;	 
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
padding:5px 2%;
font-size:1.2em;
font-weight:bold;
margin-bottom:5px;
box-sizing: border-box;
}

ul.appBox li span.heading br{
display:none;
}
ul.appBox li span.bnrImage{
display:block;
float:left;
width:100%;
margin-top:5px;
}

@media only screen and (max-width: 640px) {
ul.appBox li span.heading{
font-size:0.75em;
line-height:1.0;
margin-bottom:0;
}
ul.appBox li span.heading br{
display:block;
} 
}

@media only screen and (max-width: 767px) {
ul.appBox li span.bnrImage{
width:100%;
}
}
ul.appBox li span.image img{
width:100%;
height:auto;	
}

a.topPage{
display:block;
margin:40px auto 60px;
width:18.0em;
text-align:center;
font-size: 18px;
font-weight: bold;
background-color: #969494;
padding: 10px 0;
border-radius: 30px;
color: #fff;
text-decoration: none;
}

a.topPage:link,
a.topPage:visited,
a.topPage:hover,
a.topPage:active{
color: #fff;
}
a.topPage:hover{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
@media only screen and (max-width: 540px) {
a.topPage{
width:90%;
margin:20px 5% 40px;
}	
}

/*コピーライト
--------------------------------------*/
@media only screen and (min-width: 768px) {
#copyright {
width: 100%;
margin: 0 auto;
max-width: 960px;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 0px;
padding-left: 0px;
clear: both;;
}
} 
@media (max-width: 767px) and (min-width: 320px){
#copyright {
width: 100%;
margin: 0 auto; 
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 0px;
padding-left: 0px;
font-size: 0.8em;
clear: both;
}
}

/*ページトップ
--------------------------------------*/
#pageTop img {
width: 100%;
height: auto;
}
@media (min-width: 768px) {
#pageTop {
display: block;
position: fixed;
bottom: 0;
right: 0;
z-index: 9999;
width: 80px;
height: 80px;
z-index: 9999;
} 
}
@media (max-width: 767px) and (min-width: 320px) {
#pageTop {
display: block;
position: fixed;
bottom: 25px;
right: 10px;
width: 42px;
height: 42px;
}
}



/*マージン等
--------------------------------------*/
.mt10{
margin-top:10px !important;
}
.mt20{
margin-top:20px !important;
}
.mt30{
margin-top:30px !important;
}
.mt40{
margin-top:40px !important;
}
.mt50{
margin-top:50px !important;
}

.mb10{
margin-bottom:10px !important;
}
.mb20{
margin-bottom:20px !important;
}
.mb30{
margin-bottom:30px !important;
}
.mb40{
margin-bottom:40px !important;
}
.mb50{
margin-bottom:50px !important;
}




/*TOP
--------------------------------------*/
.table01{
width:552px;
vertical-align: center;
	font-size: 1.2em;
}

.table01 p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 60px auto 40px;
}
.table01 table {
  margin: 20px auto;
}
.table01 th {
   color: #000000;
    padding-right: 10px;
}
.table01 td {
　padding:10px 10px 10px;
}

@media screen and (max-width: 640px) {
  .last td:last-child {
    width: 100%;
  }
  .table01 {
    width: 95%;
  }
  .table01 th,
  .table01 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}

