@charset "UTF-8";
/* CSS Document */


body{
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color:#464646;
font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
width:100%;
word-break: break-all;
margin: 0px auto 0px auto;
}

#all{
background-color: #fff;
}

h1{
margin-top: 0px!important;
font-size: 90%!important;
height: 12px;
}

h2{
}

h3{
    max-width: 700px;
	font-size: 150%;
}
.tyuui{
background-color: #fff;
padding: 30px;
border-radius: 15px;
box-shadow: 2px 2px 2px #919191;
}

p{
display: block;
margin-block-start: 0em;
margin-block-end: 0em;
margin-inline-start: 0px;
margin-inline-end: 0px;
}

a {
color: #fff;
text-decoration: none;
background-color: transparent;
}

a:hover {
color: #0056b3;
text-decoration: underline;
}



.pcView {
display: block !important; }
@media (max-width: 800px) {
.pcView {
display: none !important; } }

.spView {
display: none !important; }
@media (max-width: 800px) {
.spView {
display: block !important; } }


.left {
float: left;
width: 50%;
}

.left img{
width: 44%;
padding-top: 10px;
}

.right {
float: right;
width: 50%;
text-align: right;
padding-top: 5px;
}

.right img{
width: 50%;
}

.news{
text-align: left;
max-width: 600px;
background-color: #fff;
margin-left: auto;
margin-right: auto;
font-size: 90%;
border: 2px solid #c1272d;
padding: 10px;
color: #212121;
margin-bottom: 10px;
}

.news a{
color: #0029E1;
font-weight: bold;
border-bottom: 2px #0029E1 solid;
}

@media (max-width: 900px){
.news{
margin: 10px 10px 0px 10px;
font-size: 71%;
}
}
	
.tyosei02{
color: #c1272d;
font-weight: bold;
margin:5px 0px 5px 0px;
}

#logo{
width: 100%;
max-width: 1000px;
background-color: #fff;
margin-left: auto;
margin-right: auto;
}

.logo{
height: 75px;
background-color: #fff

}

#header{
width: 100%;
background-color: #fff;
}

.header_in{
max-width: 100%;
margin-left: auto;
margin-right: auto;
}





#section1{
background-image: url("../images/bg01.png");
background-repeat: repeat
}

.sec1{
max-width: 1000px;
margin-left: auto;
margin-right: auto;
}

#section2{
background-color:#e6f3ff;
}
.sec2{
max-width: 900px;
margin-left: auto;
margin-right: auto;
padding-top: 25px;
padding-bottom: 25px;
}

.sec2 img{
max-width: 900px;
margin-left: auto;
margin-right: auto;}

.sec2 p{
max-width: 650px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;}

#section3{
width: 100%;
}


.section7{
background-image: url("../images/bg02.png");
background-repeat: repeat;
width: 100%;
}

.sec7{
max-width: 700px;
margin-left: auto;
margin-right: auto;
padding: 30px 0px 20px 0px;
width: 100%;
}

.sec7 p{
font-weight: bold;
max-width: 690px;
}


#section9{
background-color: #fff;
}

.sec9{
max-width: 1100px;
margin-left: auto;
margin-right: auto;
}



#section13 {
background-image: url("../images/bg03.png");
padding: 30px 40px 10px 40px;
}

#section13 section.box_wht{
max-width: 800px;
width: 88%;
height: 10em;
overflow: auto;
background-color: #fff;
text-align: left;
padding: 20px 30px;
margin-bottom: 30px;
margin-left: auto;
margin-right: auto;
border-radius: 20px;

}

#section13 section.box_wht h3 {
color: #002054;
font-size: 18px;
font-weight: bold;
margin-block-start: 0em;

}
#section13 section h4 {
text-align: left;
}
#section13 section.box_wht ul{
list-style: disc;
padding-left: 7px;
margin-left: 1em;
}
#section13 section.box_wht li{
list-style: disc;

}

#section13 section.f_nav li {
display: inline-block;
}


/* top 戻るbutton*/
#page_top{
width: 100px;
height: 60px;
position: fixed;
right: 0;
bottom: 0;
background: #ef3f98;
opacity: 0.6;
border-radius: 15px;
margin-bottom: 55px;
margin-right: 0px;
}

#page_top a{
position: relative;
display: block;
width: 100px;
height: 60px;
text-decoration: none;
background-color: darkcyan;
border-radius: 10px;
}

#page_top a::before{
font-weight: 900;
content: '\f4';
font-size: 25px;
color: #fff;
position: absolute;
width: 25px;
height: 25px;
top: -25px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

#page_top a::after{
content: 'TOP';
font-size: 13px;
color: #fff;
position: absolute;
top: 30px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

@media (max-width: 900px){
.logo{
height: 55px;
}
}
	
@media (max-width: 900px){
.logo{
height: 60px;
}
}


@media (max-width: 800px){
.logo{
height: 100px;
}
}


@media (max-width: 800px){
.logo{
height: 90px;
}
	
.left img{
padding-top: 5px;
}
	
}

@media (max-width: 600px){
.logo{
height: 80px;
}
}

@media (max-width: 500px){
.logo{
height: 60px;
}
}

@media (max-width: 400px){
.logo{
height:55px;
}
	
	
}


@media (max-width: 700px){
#page_top{
width:40px;
height: 40px;
position: fixed;
right: 0;
bottom: 0;
background: #ef3f98;
opacity: 0.6;
border-radius: 15px;
margin-bottom: 68px;
margin-right: 10px;
}
	
#page_top a{
position: relative;
display: block;
width: 50px;
height: 50px;
text-decoration: none;
background-color: darkcyan;
border-radius: 10px;
}


	
	
}
/* top 戻るbuttonここまで*/



.reflection-img{
width       :100%;
height      :auto;
position    :relative;
overflow    :hidden;
margin: 0px auto;
border-radius: 40px;
-webkit-border-radius: 40px;
-moz-border-radius: 40px;
z-index: 1; 
}

.reflection-img02{
width       :100%;
height      :auto;
position    :relative;
overflow    :hidden;
margin: 0px auto;
}

.reflection {
width       :50px;
height      :100%;
position    :absolute;
top         :0px;
left        :0px;
background-color: #fff;
opacity     :0;
transform: rotate(45deg);
animation: reflection 3s ease-in-out infinite;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 3s ease-in-out infinite;
-moz-transform: rotate(45deg);
-moz-animation: reflection 3s ease-in-out infinite;
-ms-transform: rotate(45deg);
-ms-animation: reflection 3s ease-in-out infinite;
-o-transform: rotate(45deg);
-o-animation: reflection 3s ease-in-out infinite;
}

@keyframes reflection {
0% { transform: scale(0) rotate(45deg); opacity: 0; }
80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

@-webkit-keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.8; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

@-moz-keyframes reflection {
0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -moz-transform: scale(4) rotate(45deg); opacity: 0.8; }
100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}

@-ms-keyframes reflection {
0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -ms-transform: scale(4) rotate(45deg); opacity: 0.8; }
100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}

@-o-keyframes reflection {
0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -o-transform: scale(4) rotate(45deg); opacity: 0.8; }
100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

dd {
margin-inline-start: 0px;
}

ul {
margin-block-start: 0em;
margin-block-end: 0em;
padding-inline-start: 0px;
list-style-type: none;
}

.shiny-btn1 {
display: block;
position: relative;
width: 80%;
padding: 0px 0px 0px 0px;
margin: 30px 50% 30px 5%;
background-color: #FF7200;
box-shadow: 5px 5px 0 0 #fff;
border-radius: 15px;
font-weight: bold;
font-size: 44px;
color: #fff;
text-align: center;
text-decoration: none;
overflow: hidden;
background:-webkit-gradient( top, from(#EA733D), to(#F6A748));
background:-webkit-linear-gradient(top, #EA733D, #F6A748);
background:-moz-linear-gradient(top, #EA733D, #F6A748);
background:-o-linear-gradient(top, #EA733D, #F6A748);
background:linear-gradient(to top, #EA733D, #F6A748);
z-index: 20;
left: 20px;
top: -12px;
text-shadow:3px 3px 3px #682000;
}

.shiny-btn1:hover {
text-decoration: none;
color: #fff;
}

.shiny-btn1::before {
position: absolute;
content: '';
display: inline-block;
top: -180px;
left: 0;
width: 30px;
height: 100%;
background-color: #fff;
animation: shiny-btn1 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn1 {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}



footer {
bottom: 0;
height: 140px;
position: inherit;
width: 100%;
background-color: #0e7eaf;
color: #fff;
text-align: center; }

@media (max-width: 800px) {
footer {
height: auto; 
padding-bottom: 40px;
} 
}

@media all and (-ms-high-contrast: none){
*::-ms-backdrop, 
footer {
height: 160px
}
}

footer small {
display: block;
margin-top: 10px;
font-size: 12px; 
}

footer div {
padding-top: 10px; 
}

footer div dl {
width: 325px;
font-size: 18px;
margin: 0 auto; 
}

footer div dl dt {
font-weight: 600;
margin-bottom: 10px; 
}

@media (max-width: 800px) {
footer div dl dt {
font-size: 15px;
margin-bottom: 5px; 
} 
}

footer div dl dd {
display: flex;
font-size: 15px;
justify-content: space-around; 
}


@media (max-width: 800px){
#faq .container dl dt img {
    width: 2.5%;
}
#faq .container dl dd img {
    width: 25px;
}	
	
}

@media (max-width: 600px){
#faq .container dl dt img {
    width: 3%;
}
}

@media (max-width: 400px){
#faq .container dl dt img {
    width: 4.5%;
}}

@media (max-width: 350px){
#faq .container dl dt img {
    width: 6.5%;
}
}

.yellow_line {
background:rgba(0, 0, 0, 0) linear-gradient(transparent 85%, #f2e421 0%) repeat scroll 0 0;
margin: 0px 0px 0px 0px;

}

.tyosei01{
color: #002054;
font-size: 20px;
font-weight: bold;
margin-block-start: 0em;
}


.red{
color: #C70003;
font-weight: bold;
}


.red2{
color: #C70003;
}

@media (max-width: 800px){
.left img{
width: 70%;
}
	
.right img{
width: 100%;
}
	
.reflection-img {
    width: 90%;
}
.sec2 img {
width: 90%;
}
.sec7 p {
max-width: 90%;
margin-left: auto;
margin-right: auto;
font-size: 76%;
}	
.sec2 p {
width: 88%;
margin-left: auto;
margin-right: auto;
}	

.red2{
font-size: 120%;
}
	
#section13 {
padding: 7% 5% 1% 4%;
}	
	
.left {
    margin-top: 4px;
}	
.sec7 {
    padding-top: 20px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 10px;
}	
	
#section13 section.box_wht {
    padding: 15px 20px;
font-size: 85%;
}	

.tyuui{
background-color: #fff;
padding: 15px;
margin:10px;
}
	
h3 {
    margin-left: 15px;
    margin-top: 20px;
    font-size: 130%;
}	
	
}

#hoken{background-color: #f2dbda;}
#hoken img {width:100%; max-width:1200px; margin: 0 auto;}

#voice00 {background-color: #fff;
padding:60px;
padding-bottom: 0px
}
#voice00 img {width:100%; max-width:1200px; margin: 0 auto;}
@media (max-width: 568px) {
#voice00 {padding:40px
}}
@media (max-width: 568px) {
#voice00 {padding:20px
}}
@media (max-width: 340px) {
#voice00 {padding:10px
}}
#voice01{background-color: #f2dbda;}
#voice01 img {width:100%; max-width:1200px; margin: 0 auto;}
#voice02{background-color: #f2dbda;}
#voice02 img {width:100%; max-width:1200px; margin: 0 auto;}
#voice03{background-color: #f2dbda;}
#voice03 img {width:100%; max-width:1200px; margin: 0 auto;}
#voice04{background-color: #f2dbda;}
#voice04 img {width:100%; max-width:1200px; margin: 0 auto;}



    @media screen and (min-width:769px){
    .insu-wrap {
      display: block;
      max-width:1200px;
      margin: 0 auto;
      padding: 30px 0;
      font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "游ゴシック体", sans-serif;
    }
    }
    
    @media screen and (max-width:768px){
    .insu-wrap {
      display: block;
      max-width: 400px;
      margin: 0 auto;
      padding: 20px 10px;
      font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "游ゴシック体", sans-serif;
    }
    }
    
    @media screen and (min-width:769px){
    .insu-title h3 {
      max-width: 400px;
      margin: 0 auto;
      text-align: center;
    }
    }
    
    @media screen and (max-width:768px){
    .insu-title h3 {
      max-width: 230px;
      margin: 0 auto;
      text-align: center;
    }
    }
    
    @media screen and (min-width:769px){
    .insu-title article {
      padding: 10px 0;
      max-width: 700px;
      margin: 0 auto;
      font-size: 24px;
      font-weight: bold;
      color: #606060;
      line-height: 2rem;
    }
    .insu-name-box {
      background-color: #fff;
      border-radius: 30px;
      padding: 20px 30px;
      max-width: 800px;
      margin: 0 auto 10px;
    }
    .insu-name-box p {
      font-size: 26px;
      font-weight: bold;
      color: #e15a65;
      padding-bottom: 5px;
      padding-left: 10px;
    }
    }
    
    @media screen and (max-width:768px){
    .insu-title article {
      padding: 10px 0;
      max-width: 366px;
      margin: 0 auto;
      font-size: 14px;
      font-weight: bold;
      color: #606060;
      line-height: 1.2rem;
    }
    .insu-name-box {
      background-color: #fff;
      border-radius: 30px;
      padding: 20px;
      max-width: 700px;
      margin: 0 auto 10px;
    }
    .insu-name-box p {
      font-size: 22px;
      font-weight: bold;
      color: #e15a65;
      padding-bottom: 5px;
    }
    }
    
    @media screen and (min-width:769px){
    .name-flex {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
    }
    }
    
    @media screen and (max-width:768px){
    .name-flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
    }
    }
    
    .name-flex ul {
      width: 330px;
      margin: 0 auto;
    }
    
    
    @media screen and (min-width:769px){
    .name-flex li {
      font-size: 18px;
      line-height: 1.8rem;
      font-weight: bold;
      color: #606060;
    }
    }
    
    @media screen and (max-width:768px){
    .name-flex li {
      font-size: 14px;
      line-height: 1.4rem;
      font-weight: bold;
      color: #606060;
    }
    }